Class: Foobara::Callback::Registry::MultipleAction
- Inherits:
-
Base
- Object
- Base
- Foobara::Callback::Registry::MultipleAction
show all
- Defined in:
- foobara-0.0.110/projects/callback/src/registry/multiple_action.rb
Defined Under Namespace
Classes: InvalidAction
Instance Attribute Summary collapse
Attributes inherited from Base
#allowed_types
Instance Method Summary
collapse
Methods inherited from Base
#has_after_callbacks?, #has_around_callbacks?, #has_before_callbacks?, #has_callbacks?, #has_error_callbacks?, #register_callback
Constructor Details
#initialize(*possible_actions) ⇒ MultipleAction
Returns a new instance of MultipleAction.
11
12
13
14
15
16
17
18
19
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 11
def initialize(*possible_actions)
super()
self.callback_sets = {}
possible_actions = normalize_actions(possible_actions, false)
self.possible_actions = possible_actions.map(&:to_s).sort.map(&:to_sym)
end
|
Instance Attribute Details
#callback_sets ⇒ Object
Returns the value of attribute callback_sets.
7
8
9
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 7
def callback_sets
@callback_sets
end
|
#possible_actions ⇒ Object
Returns the value of attribute possible_actions.
7
8
9
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 7
def possible_actions
@possible_actions
end
|
Instance Method Details
#after(*actions) ⇒ Object
29
30
31
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 29
def after(*actions, &)
super(*normalize_actions(actions), &)
end
|
#around(*actions) ⇒ Object
33
34
35
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 33
def around(*actions, &)
super(*normalize_actions(actions), &)
end
|
#before(*actions) ⇒ Object
25
26
27
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 25
def before(*actions, &)
super(*normalize_actions(actions), &)
end
|
#error(*actions) ⇒ Object
37
38
39
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 37
def error(*actions, &)
super(*normalize_actions(actions), &)
end
|
#runner(*actions) ⇒ Object
21
22
23
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 21
def runner(*actions)
super(*normalize_actions(actions))
end
|
#specific_callback_set_for(*actions) ⇒ Object
41
42
43
44
45
46
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 41
def specific_callback_set_for(*actions)
action = normalize_action(actions)
validate_action!(action)
callback_sets[action] ||= Callback::Set.new
end
|
#unioned_callback_set_for(*actions) ⇒ Object
48
49
50
51
52
53
54
55
56
|
# File 'foobara-0.0.110/projects/callback/src/registry/multiple_action.rb', line 48
def unioned_callback_set_for(*actions)
action = normalize_action(actions)
if action.nil?
callback_sets.values.reduce(:|) || Callback::Set.new
else
specific_callback_set_for(nil) | specific_callback_set_for(action)
end
end
|