Class: Levels::Audit::NestedGroupObserver
- Inherits:
-
Object
- Object
- Levels::Audit::NestedGroupObserver
- Defined in:
- lib/levels/audit/nested_group_observer.rb
Overview
The NestedGroupObserver is like a GroupObserver, but used to observe what happens during recursive value evaluation.
Instance Method Summary collapse
-
#initialize(value_observer) ⇒ NestedGroupObserver
constructor
Initialize a new NestedGroupObserver.
-
#notify_nested(event_handler) ⇒ Object
Private: Notify that the observed values were seen.
-
#observe_values(levels, group_key, value_key) ⇒ Object
Retrieve the value at a group+value key.
Constructor Details
#initialize(value_observer) ⇒ NestedGroupObserver
Initialize a new NestedGroupObserver.
value_observer - Levels::Audit::ValueObserver.
11 12 13 14 |
# File 'lib/levels/audit/nested_group_observer.rb', line 11 def initialize(value_observer) @value_observer = value_observer @values = [] end |
Instance Method Details
#notify_nested(event_handler) ⇒ Object
Private: Notify that the observed values were seen. After notifying of the observed values, the set of observed values is reset.
event_handler - Levels::EventHandler.
Returns nothing.
31 32 33 34 |
# File 'lib/levels/audit/nested_group_observer.rb', line 31 def notify_nested(event_handler) @values.each { |v| event_handler.on_nested_values(v) } @values.clear end |
#observe_values(levels, group_key, value_key) ⇒ Object
Retrieve the value at a group+value key.
Returns a Levels::Audit::Values.
19 20 21 22 23 |
# File 'lib/levels/audit/nested_group_observer.rb', line 19 def observe_values(levels, group_key, value_key) values = @value_observer.observe_values(levels, group_key, value_key) @values << values values end |