class Enum::Transitions::UpdateHandler
Public Class Methods
new(config)
click to toggle source
@param config [Enum::Transisions::Configuration]
# File lib/enum/transitions/update_handler.rb, line 7 def initialize(config) @config = config end
Public Instance Methods
around_update(model) { || ... }
click to toggle source
# File lib/enum/transitions/update_handler.rb, line 11 def around_update(model) source, target = model.changes[@config.enum] transition = @config.transitions.dig(source, target) raise Errors::TransitionNotAllowed if transition.nil? model.run_callbacks transition do model.run_callbacks leaving_event(source) do model.run_callbacks entering_event(target) do yield end end end end