Class: Interactify::Wiring::ErrorContext
- Inherits:
-
Object
- Object
- Interactify::Wiring::ErrorContext
- Defined in:
- lib/interactify/wiring/error_context.rb
Instance Method Summary collapse
- #add_missing_keys(callable, not_in_previous_keys) ⇒ Object
- #add_promised_keys(promised_keys) ⇒ Object
- #append_previously_defined_keys(keys) ⇒ Object
- #infer_missing_keys(callable) ⇒ Object
- #missing_keys ⇒ Object
- #previously_defined_keys ⇒ Object
Instance Method Details
#add_missing_keys(callable, not_in_previous_keys) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/interactify/wiring/error_context.rb', line 33 def add_missing_keys(callable, not_in_previous_keys) return if not_in_previous_keys.empty? missing_keys[callable] ||= Set.new missing_keys[callable] += not_in_previous_keys end |
#add_promised_keys(promised_keys) ⇒ Object
20 21 22 23 24 |
# File 'lib/interactify/wiring/error_context.rb', line 20 def add_promised_keys(promised_keys) promised_keys.each do |key| previously_defined_keys << key end end |
#append_previously_defined_keys(keys) ⇒ Object
10 11 12 13 14 |
# File 'lib/interactify/wiring/error_context.rb', line 10 def append_previously_defined_keys(keys) keys.each do |key| previously_defined_keys << key end end |
#infer_missing_keys(callable) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/interactify/wiring/error_context.rb', line 26 def infer_missing_keys(callable) new_keys = callable.expected_keys not_in_previous_keys = new_keys.reject { |key| previously_defined_keys.include?(key) } add_missing_keys(callable, not_in_previous_keys) end |
#missing_keys ⇒ Object
16 17 18 |
# File 'lib/interactify/wiring/error_context.rb', line 16 def missing_keys @missing_keys ||= {} end |
#previously_defined_keys ⇒ Object
6 7 8 |
# File 'lib/interactify/wiring/error_context.rb', line 6 def previously_defined_keys @previously_defined_keys ||= Set.new end |