Method: FinalizeBlock#initialize

Defined in:
lib/finalize_block.rb

#initialize(rules) ⇒ FinalizeBlock

Returns a new instance of FinalizeBlock.



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/finalize_block.rb', line 5

def initialize rules
  raise "Now, one rule should be accepted: #{rules.inspect}" if rules.keys.size != 1
  rules.each{|k, v| @klass = k; @action = v}
  @traces = setup_traces @klass
  @traces.each{|trace| trace.enable}
  yield
ensure
  @traces.each{|trace| trace.disable}

  each_target_objects do |obj|
    @action.call(obj)
  end
end