class method self.action_methods

Ruby on Rails 3.0.20

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

self.action_methods()

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. Finally, #hidden_actions are removed.

Returns

  • array - A list of all methods that should be considered actions.

Source
# File actionpack/lib/abstract_controller/base.rb, line 61
      def action_methods
        @action_methods ||= begin
          # All public instance methods of this class, including ancestors
          methods = public_instance_methods(true).map { |m| m.to_s }.to_set -
            # Except for public instance methods of Base and its ancestors
            internal_methods.map { |m| m.to_s } +
            # Be sure to include shadowed public instance methods of this class
            public_instance_methods(false).map { |m| m.to_s } -
            # And always exclude explicitly hidden actions
            hidden_actions

          # Clear out AS callback method pollution
          methods.reject { |method| method =~ /_one_time_conditions/ }
        end
      end

Defined in actionpack/lib/abstract_controller/base.rb line 61 · View on GitHub · Improve this page · Find usages on GitHub

Defined in AbstractController::Base

Type at least 2 characters to search.

↑↓ navigate · open · esc close