Class: EndState::TransitionConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/end_state/transition_configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTransitionConfiguration



5
6
7
8
9
10
11
# File 'lib/end_state/transition_configuration.rb', line 5

def initialize
  @action = Action
  @allowed_params = []
  @concluders = []
  @guards = []
  @required_params = []
end

Instance Attribute Details

#actionObject (readonly)

Returns the value of attribute action.



3
4
5
# File 'lib/end_state/transition_configuration.rb', line 3

def action
  @action
end

#allowed_paramsObject (readonly)

Returns the value of attribute allowed_params.



3
4
5
# File 'lib/end_state/transition_configuration.rb', line 3

def allowed_params
  @allowed_params
end

#concludersObject (readonly)

Returns the value of attribute concluders.



3
4
5
# File 'lib/end_state/transition_configuration.rb', line 3

def concluders
  @concluders
end

#guardsObject (readonly)

Returns the value of attribute guards.



3
4
5
# File 'lib/end_state/transition_configuration.rb', line 3

def guards
  @guards
end

#required_paramsObject (readonly)

Returns the value of attribute required_params.



3
4
5
# File 'lib/end_state/transition_configuration.rb', line 3

def required_params
  @required_params
end

Instance Method Details

#allow_params(*params) ⇒ Object



29
30
31
32
33
# 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) ⇒ Object



21
22
23
# File 'lib/end_state/transition_configuration.rb', line 21

def concluder(*concluders)
  Array(concluders).flatten.each { |concluder| self.concluders << concluder }
end

#custom_action(action) ⇒ Object



13
14
15
# File 'lib/end_state/transition_configuration.rb', line 13

def custom_action(action)
  @action = action
end

#guard(*guards) ⇒ Object



17
18
19
# File 'lib/end_state/transition_configuration.rb', line 17

def guard(*guards)
  Array(guards).flatten.each { |guard| self.guards << guard }
end

#persistence_onObject



25
26
27
# File 'lib/end_state/transition_configuration.rb', line 25

def persistence_on
  concluder Concluders::Persistence
end

#require_params(*params) ⇒ Object



35
36
37
38
39
40
# 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