Module: Thumblemonks::Forklift::FixtureLoadingCallbacks

Defined in:
lib/forklift/fixture_loading_callbacks.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/forklift/fixture_loading_callbacks.rb', line 5

def self.included(klass)
  klass.class_eval do 
    class_inheritable_hash :callbacks
    self.callbacks = {}
    puts "Callbacks starts out as #{self.callbacks.inspect} for #{klass}"
    alias_method_chain :setup_fixtures, :callback_invocation
  end
  klass.extend(ClassMethods)
end

Instance Method Details

#run_callback(callback_name) ⇒ Object

private



32
33
34
35
36
# File 'lib/forklift/fixture_loading_callbacks.rb', line 32

def run_callback(callback_name)
  to_run = callbacks[callback_name]
  return unless to_run.any?
  to_run.each { |callback| instance_eval(&callback) }
end

#setup_fixtures_with_callback_invocationObject



15
16
17
18
# File 'lib/forklift/fixture_loading_callbacks.rb', line 15

def setup_fixtures_with_callback_invocation
  run_callback(:before_fixture_load)
  setup_fixtures_without_callback_invocation
end