Module: SolidState
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/solidstate.rb
Overview
require ‘active_support/core_ext/class/attribute_accessors’
Defined Under Namespace
Modules: ClassMethods
Classes: InvalidTransitionError
Constant Summary
collapse
- STATE_ATTRIBUTE =
:state.freeze
Instance Method Summary
collapse
Instance Method Details
#set_state(new_state) ⇒ Object
78
79
80
|
# File 'lib/solidstate.rb', line 78
def set_state(new_state)
set_state!(new_state) rescue false
end
|
#set_state!(new_state) ⇒ Object
73
74
75
76
|
# File 'lib/solidstate.rb', line 73
def set_state!(new_state)
raise InvalidTransitionError.new("Cannot transition from #{state} to #{dest}") unless can_transition_to?(new_state)
self.state = new_state
end
|
#update_state(new_state) ⇒ Object
82
83
84
|
# File 'lib/solidstate.rb', line 82
def update_state(new_state)
save if set_state(new_state)
end
|
#update_state!(new_state) ⇒ Object
86
87
88
|
# File 'lib/solidstate.rb', line 86
def update_state!(new_state)
save! if set_state!(new_state)
end
|