guard_condition (ActionController::Routing::Optimisation::PositionalArguments)

    # File lib/action_controller/routing/optimisations.rb, line 59
            def guard_condition
              number_of_arguments = route.segment_keys.size
              # if they're using foo_url(:id=>2) it's one
              # argument, but we don't want to generate /foos/id2
              if number_of_arguments == 1
                "(!defined?(default_url_options) || default_url_options.blank?) && defined?(request) && request && args.size == 1 && !args.first.is_a?(Hash)"
              else
                "(!defined?(default_url_options) || default_url_options.blank?) && defined?(request) && request && args.size == #{number_of_arguments}"
              end
            end