Module: Statesman::Adapters::ActiveRecordQueries::ClassMethods

Defined in:
lib/statesman/adapters/active_record_queries.rb

Instance Method Summary collapse

Instance Method Details

#in_state(*states) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/statesman/adapters/active_record_queries.rb', line 9

def in_state(*states)
  states = states.map(&:to_s)

  joins(transition1_join)
    .joins(transition2_join)
    .where(state_inclusion_where(states), states)
    .where("transition2.id" => nil)
end

#not_in_state(*states) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/statesman/adapters/active_record_queries.rb', line 18

def not_in_state(*states)
  states = states.map(&:to_s)

  joins(transition1_join)
    .joins(transition2_join)
    .where("NOT (#{state_inclusion_where(states)})", states)
    .where("transition2.id" => nil)
end