# File lib/brakeman/processors/lib/rails3_route_processor.rb, line 155
  def process_verb exp
    first_arg = exp.first_arg
    second_arg = exp.second_arg

    if symbol? first_arg and not hash? second_arg
      add_route first_arg
    elsif hash? second_arg
      hash_iterate second_arg do |k, v|
        if symbol? k and k.value == :to
          if string? v
            add_route_from_string v
          elsif in_controller_block? and symbol? v
            add_route v
          end
        elsif action_route?(first_arg)
          if hash? second_arg and controller_name = hash_access(second_arg, :controller)
            loose_action(controller_name, exp.method)
          end
        end
      end
    elsif string? first_arg
      if first_arg.value.include? ':controller' and action_route?(first_arg) #Default routes
        @tracker.routes[:allow_all_actions] = first_arg
      end

      route = first_arg.value.split "/"
      if route.length != 2
        add_route route[0]
      else
        add_route route[1], route[0]
      end
    else hash? first_arg
      hash_iterate first_arg do |k, v|
        if string? k
          if string? v
            add_route_from_string v
          elsif in_controller_block?
            add_route v
          end
        end
      end
    end

    @current_controller = nil unless in_controller_block?
    exp
  end