class EndState::TransitionConfiguration
Attributes
action[R]
allowed_params[R]
concluders[R]
guards[R]
required_params[R]
Public Class Methods
new()
click to toggle source
# File lib/end_state/transition_configuration.rb, line 5 def initialize @action = Action @allowed_params = [] @concluders = [] @guards = [] @required_params = [] end
Public Instance Methods
allow_params(*params)
click to toggle source
# File lib/end_state/transition_configuration.rb, line 29 def allow_params(*params) Array(params).flatten.each do |param| append_unless_included(:allowed_params, param) end end
concluder(*concluders)
click to toggle source
# File lib/end_state/transition_configuration.rb, line 21 def concluder(*concluders) Array(concluders).flatten.each { |concluder| self.concluders << concluder } end
custom_action(action)
click to toggle source
# File lib/end_state/transition_configuration.rb, line 13 def custom_action(action) @action = action end
guard(*guards)
click to toggle source
# File lib/end_state/transition_configuration.rb, line 17 def guard(*guards) Array(guards).flatten.each { |guard| self.guards << guard } end
persistence_on()
click to toggle source
# File lib/end_state/transition_configuration.rb, line 25 def persistence_on concluder Concluders::Persistence end
require_params(*params)
click to toggle source
# File lib/end_state/transition_configuration.rb, line 35 def require_params(*params) Array(params).flatten.each do |param| append_unless_included(:allowed_params, param) append_unless_included(:required_params, param) end end
Private Instance Methods
append_unless_included(name, value)
click to toggle source
# File lib/end_state/transition_configuration.rb, line 44 def append_unless_included(name, value) attribute = self.send(name) attribute << value unless attribute.include? value end