Module: Statesman::Adapters::SequelQueries
- Defined in:
- lib/statesman/adapters/sequel_queries.rb
Defined Under Namespace
Modules: ClassMethods, DatasetMethods
Class Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/statesman/adapters/sequel_queries.rb', line 4
def self.included(base)
base.instance_eval do
extend(ClassMethods)
one_to_many(transition_name)
one_to_one(most_recent_transition_association_name,
class: transition_class,
conditions: { most_recent: true })
dataset_module(DatasetMethods)
end
end
|
.states_where(model, states) ⇒ Object
18
19
20
21
22
23
24
25
26
|
# File 'lib/statesman/adapters/sequel_queries.rb', line 18
def self.states_where(model, states)
if states.include? model.initial_state.to_s
"#{model.most_recent_transition_association_name}.to_state IN ? OR #{
model.most_recent_transition_association_name}.to_state IS NULL"
else
"#{model.most_recent_transition_association_name}.to_state IN ? AND #{
model.most_recent_transition_association_name}.to_state IS NOT NULL"
end
end
|