polymorphic_url

In polymorphic_routes.rb, polymorphic_url is defined in rails source
from github,and this particular line:

   inflection = if options[:action] && options[:action].to_s == "new"
          args.pop
          :singular
        elsif (record.respond_to?(:persisted?) && !record.persisted?)
          args.pop
          :plural
        elsif record.is_a?(Class)
          args.pop
          :plural
        else
          :singular
        end

what's the purpose of extracting last element of array here? At this
point args will either be an array of activerecord objects, or just be
a single activerecord object in an array.

Oh, I figured this one out. Reason why the else doesn't pop the last
element is because the last element is the object passed to form_for
that has been persisted, and that element is needed in the array for
the id value when we invoke send on the dynamic route generated.