def method_for_action(action)
      version = (requested_version || self.default_version)

      unless version.nil?
        version = version.to_i
        name = "#{action}_v#{version}"
        method = self.respond_to?(name) ? name : nil
      end

      method ||= self.respond_to?("action_missing") ? "_handle_action_missing" : nil
    end
def method_for_action(action)
      version = (requested_version || self.default_version)

      unless version.nil?
        version = version.to_i
        name = "#{action}_v#{version}"
        method = self.respond_to?(name) ? name : nil
      end

      method ||= self.respond_to?("action_missing") ? "_handle_action_missing" : nil
    end
Public: Returns a versioned action name based on the requested action name
 and an optional version specification on the request.  If no versioned
 action matching what we think the request is trying to access is defined on
 the containing class then this will behave in one of two ways:
   1. If #action_missing is defined, this method will return "_handle_aciton_missing"
      to stay in line with how the default Rails implementation works
   2. If #action_missiong is not defined, then this will return nil (preserves)
      default rails behavior)

 action - The name of the action to look up, a String

 Returns a versioned action name, "_handle_action_missing", or nil