19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/clean-annotations/class_callbacks.rb', line 19
def run_callback name, *args
ivar = "@class_callbacks_#{name}"
list = is_a?(Class) || is_a?(Module) ? ancestors : self.class.ancestors
list = list.slice 0, list.index(Object) if list.index(Object)
list.reverse.each do |klass|
if klass.instance_variable_defined?(ivar)
mlist = klass.instance_variable_get(ivar).values
mlist.each do |m|
if m.is_a?(Symbol)
send m, *args
else
instance_exec *args, &m
end
end
end
end
end
|