Method: AbstractController::Base.action_methods

Defined in:
lib/abstract_controller/base.rb

.action_methodsObject

A list of method names that should be considered actions. This includes all public instance methods on a controller, less any internal methods (see internal_methods), adding back in any methods that are internal, but still exist on the class itself.

#### Returns

  • Set - A set of all methods that should be considered actions.



97
98
99
100
101
102
103
104
105
106
107
# File 'lib/abstract_controller/base.rb', line 97

def action_methods
  @action_methods ||= begin
    # All public instance methods of this class, including ancestors except for
    # public instance methods of Base and its ancestors.
    methods = public_instance_methods(true) - internal_methods
    # Be sure to include shadowed public instance methods of this class.
    methods.concat(public_instance_methods(false))
    methods.map!(&:to_s)
    methods.to_set
  end
end