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