Method: AbstractController::Base.internal_methods

Defined in:
lib/abstract_controller/base.rb

.internal_methodsObject

A list of all internal methods for a controller. This finds the first abstract superclass of a controller, and gets a list of all public instance methods on that abstract class. Public instance methods of a controller would normally be considered action methods, so methods declared on abstract classes are being removed. (ActionController::Metal and ActionController::Base are defined as abstract)



77
78
79
80
81
82
83
84
85
86
87
# File 'lib/abstract_controller/base.rb', line 77

def internal_methods
  controller = self
  methods = []

  until controller.abstract?
    methods += controller.public_instance_methods(false)
    controller = controller.superclass
  end

  controller.public_instance_methods(true) - methods
end