Class: Transactor::Improv::Performance

Inherits:
Performance show all
Defined in:
lib/transactor/improv/performance.rb

Instance Attribute Summary

Attributes inherited from Performance

#actor, #result

Instance Method Summary collapse

Methods inherited from Performance

#failed?, perform, #performed?, #performing?, #rollback_on_failure?, #rolled_back?, #started?, #state, #successful?, #to_s

Instance Method Details

#perform(&block) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/transactor/improv/performance.rb', line 5

def perform(&block)
  if block_given?
    @perform_block = block
  else
    super(&perform_block)
  end
  self
rescue => e
  raise PerformanceBombed.new(e, self)
end

#perform_blockObject



25
26
27
# File 'lib/transactor/improv/performance.rb', line 25

def perform_block
  @perform_block ||= Proc.new {}
end

#rollback(&block) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/transactor/improv/performance.rb', line 16

def rollback(&block)
  if block_given?
    @rollback_block = block
  else
    super(&rollback_block)
  end
  self
end

#rollback_blockObject



29
30
31
# File 'lib/transactor/improv/performance.rb', line 29

def rollback_block
  @rollback_block ||= Proc.new {}
end