instance method
current_state
Ruby on Rails 2.2.3
Since v2.2.3 Last seen in v2.3.18Available in: v2.2.3 v2.3.18
Signature
current_state(name = nil, new_state = nil, persist = false)
No documentation comment.
Parameters
-
nameopt = nil -
new_stateopt = nil -
persistopt = false
Source
# File activemodel/lib/active_model/state_machine.rb, line 40
def current_state(name = nil, new_state = nil, persist = false)
sm = self.class.state_machine(name)
ivar = sm.current_state_variable
if name && new_state
if persist && respond_to?(:write_state)
write_state(sm, new_state)
end
if respond_to?(:write_state_without_persistence)
write_state_without_persistence(sm, new_state)
end
instance_variable_set(ivar, new_state)
else
instance_variable_set(ivar, nil) unless instance_variable_defined?(ivar)
value = instance_variable_get(ivar)
return value if value
if respond_to?(:read_state)
value = instance_variable_set(ivar, read_state(sm))
end
value || sm.initial_state
end
end
Defined in activemodel/lib/active_model/state_machine.rb line 40
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::StateMachine