Module: StateFlow::Builder::ClientClassMethods

Defined in:
lib/state_flow/builder.rb

Instance Method Summary collapse

Instance Method Details

#state_flow(selectable_attr, options = nil, &block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/state_flow/builder.rb', line 12

def state_flow(selectable_attr, options = nil, &block)
  options = {
    :attr_key_name => "#{self.enum_base_name(selectable_attr)}_key".to_sym
  }.update(options || {})
  flow = Base.new(self, selectable_attr, options[:attr_key_name])
  flow.instance_eval(&block)
  flow.setup_events
  @state_flows ||= []
  @state_flows << flow
  flow
end

#state_flow_for(selectable_attr) ⇒ Object



7
8
9
10
# File 'lib/state_flow/builder.rb', line 7

def state_flow_for(selectable_attr)
  return nil unless @state_flows
  @state_flows.detect{|flow| flow.attr_name == selectable_attr}
end