6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/state_store/extension.rb', line 6
def has_states *states
state_store_options = states && states.last.is_a?(Hash) && states.pop || {}
raise ArgumentError.new("No states given") if states.empty?
raise ArgumentError.new(":in is required") unless state_store_options[:in]
state_store_options[:as] ||= :states
store = StateStore::BinaryStore.new(states)
@states_stores ||={}
@states_stores_options ||={}
@states_stores[state_store_options[:as]] = store
@states_stores_options[state_store_options[:as]] = state_store_options
create_methods_for_state_store(state_store_options[:as])
end
|