module ActiveState::Model::ClassMethods
Attributes
initial_state[RW]
Public Instance Methods
scope_for_state(*states, **named)
click to toggle source
Creates scopes for the given states in this form: scope :my_state, -> { where state_name: MyState.name }
Also accepts pairs of scope_name: StateClass pairs: scope :scope_name, -> { where state_name: StateClass.name }
# File lib/active_state/model.rb, line 12 def scope_for_state(*states, **named) states.each do |state| named[state.name.demodulize.underscore] = state end named.each do |k, v| scope k, -> { where state_name: v.name } end end