mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
fix uninitialized ivar warnings
This commit is contained in:
parent
f5ae64dc28
commit
6033e8aeb0
1 changed files with 10 additions and 0 deletions
|
@ -34,6 +34,15 @@ module AbstractController
|
|||
@abstract = true
|
||||
end
|
||||
|
||||
def inherited(klass) # :nodoc:
|
||||
# define the abstract ivar on subclasses so that we don't get
|
||||
# uninitialized ivar warnings
|
||||
unless klass.instance_variable_defined?(:@abstract)
|
||||
klass.instance_variable_set(:@abstract, false)
|
||||
end
|
||||
super
|
||||
end
|
||||
|
||||
# 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
|
||||
|
@ -42,6 +51,7 @@ module AbstractController
|
|||
# (ActionController::Metal and ActionController::Base are defined as abstract)
|
||||
def internal_methods
|
||||
controller = self
|
||||
|
||||
controller = controller.superclass until controller.abstract?
|
||||
controller.public_instance_methods(true)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue