module React::Callbacks::ClassMethods
Public Instance Methods
callbacks_for(callback_name)
click to toggle source
# File lib/react/callbacks.rb, line 32 def callbacks_for(callback_name) attribute_name = "_#{callback_name}_callbacks" if superclass.respond_to? :callbacks_for superclass.callbacks_for(callback_name) else [] end + self.send(attribute_name) end
define_callback(callback_name)
click to toggle source
# File lib/react/callbacks.rb, line 20 def define_callback(callback_name) attribute_name = "_#{callback_name}_callbacks" class_attribute(attribute_name) self.send("#{attribute_name}=", []) define_singleton_method(callback_name) do |*args, &block| callbacks = self.send(attribute_name) callbacks.concat(args) callbacks.push(block) if block_given? self.send("#{attribute_name}=", callbacks) end end