Module: Smith::Workflow::SplitStepPersistence::SubclassBoundary

Defined in:
lib/smith/workflow/split_step_persistence/subclass_boundary.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.guardObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/smith/workflow/split_step_persistence/subclass_boundary.rb', line 7

def self.guard
  Module.new.tap do |guard|
    instance_methods(false).each do |method_name|
      guard.define_method(method_name, instance_method(method_name))
    end
    private_instance_methods(false).each do |method_name|
      guard.define_method(method_name, instance_method(method_name))
      guard.send(:private, method_name)
    end
  end
end

Instance Method Details

#advance!Object



24
25
26
27
# File 'lib/smith/workflow/split_step_persistence/subclass_boundary.rb', line 24

def advance!
  SplitStepPersistence.instance_method(:guard_split_step_subclass_execution!).bind_call(self)
  super
end

#run!Object



29
30
31
32
# File 'lib/smith/workflow/split_step_persistence/subclass_boundary.rb', line 29

def run!
  SplitStepPersistence.instance_method(:guard_split_step_subclass_execution!).bind_call(self)
  super
end

#to_stateObject



19
20
21
22
# File 'lib/smith/workflow/split_step_persistence/subclass_boundary.rb', line 19

def to_state
  state = super
  split_step_boundary_active? ? snapshot_value(state) : state
end