class AbstractController::Base
def action_methods
==== Returns
itself. Finally, #hidden_actions are removed.
any methods that are internal, but still exist on the class
any internal methods (see #internal_methods), adding back in
includes all public instance methods on a controller, less
A list of method names that should be considered actions. This
def action_methods @action_methods ||= begin # All public instance methods of this class, including ancestors methods = (public_instance_methods(true) - # Except for public instance methods of Base and its ancestors internal_methods + # Be sure to include shadowed public instance methods of this class public_instance_methods(false)).uniq.map { |x| x.to_s } - # And always exclude explicitly hidden actions hidden_actions.to_a # Clear out AS callback method pollution Set.new(methods.reject { |method| method =~ /_one_time_conditions/ }) end end