Module: Thumblemonks::Forklift::FixtureLoadingCallbacks::ClassMethods

Defined in:
lib/forklift/fixture_loading_callbacks.rb

Instance Method Summary collapse

Instance Method Details

#add_callback(callback_name, method = nil, &block) ⇒ Object

Raises:

  • (ArgumentError)


21
22
23
24
25
26
27
# File 'lib/forklift/fixture_loading_callbacks.rb', line 21

def add_callback(callback_name, method = nil, &block)
  raise(ArgumentError, "Require either a method or a block") unless method || block
  callback = block_given? ? block : lambda { send(method) }
  puts "Adding callback for #{self.name}"
  existing = (self.callbacks || {})[callback_name] || []
  write_inheritable_hash :callbacks, {callback_name => (existing + [callback])}
end