Module: SSM::InjectionStrategies::ObjectStrategy

Defined in:
lib/injection_strategies/object_strategy.rb

Instance Method Summary collapse

Instance Method Details

#ssm_getObject



22
23
24
# File 'lib/injection_strategies/object_strategy.rb', line 22

def ssm_get
  send("#{@ssm_state_machine.property_name}".to_sym)
end

#ssm_set(v) ⇒ Object



18
19
20
# File 'lib/injection_strategies/object_strategy.rb', line 18

def ssm_set(v)
  send("#{@ssm_state_machine.property_name}=".to_sym, v)
end

#ssm_setupObject

Generic setup



6
7
8
9
10
11
12
13
14
15
# File 'lib/injection_strategies/object_strategy.rb', line 6

def ssm_setup
  sm = @ssm_state_machine
  unless sm.property_name.nil?
    # This allows others to set up the object however they see fit, including mixing in setters.
    instance_eval("def #{sm.property_name}; @#{sm.property_name}; end") unless respond_to?(sm.property_name)
    instance_eval("def #{sm.property_name}=(v); @#{sm.property_name} = v; end") unless respond_to?("#{sm.property_name}=".to_sym)
    
    _synchronize_state
  end
end