Class: Igniter::Extensions::Contracts::Saga::CompensationSet

Inherits:
Object
  • Object
show all
Defined in:
lib/igniter/extensions/contracts/saga/compensation_set.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCompensationSet

Returns a new instance of CompensationSet.



15
16
17
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 15

def initialize
  @compensations = {}
end

Class Method Details

.build(&block) ⇒ Object



8
9
10
11
12
13
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 8

def self.build(&block)
  new.tap do |set|
    set.instance_eval(&block) if block
    set.finalize!
  end
end

Instance Method Details

#[](node_name) ⇒ Object



23
24
25
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 23

def [](node_name)
  @compensations[node_name.to_sym]
end

#compensate(node_name, &block) ⇒ Object



19
20
21
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 19

def compensate(node_name, &block)
  @compensations[node_name.to_sym] = Compensation.new(node_name, &block)
end

#finalize!Object



39
40
41
42
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 39

def finalize!
  @compensations.freeze
  freeze
end

#key?(node_name) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 27

def key?(node_name)
  @compensations.key?(node_name.to_sym)
end

#keysObject



35
36
37
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 35

def keys
  @compensations.keys
end

#to_hObject



31
32
33
# File 'lib/igniter/extensions/contracts/saga/compensation_set.rb', line 31

def to_h
  @compensations.dup
end