Class: EventEngine::ProcessingRules
- Inherits:
-
Object
- Object
- EventEngine::ProcessingRules
- Defined in:
- lib/event_engine/processing_rules.rb
Class Method Summary collapse
Instance Method Summary collapse
- #any? ⇒ Boolean
- #for(event_name:, pack:) ⇒ Object
-
#initialize(default: nil, packs: {}, events: {}) ⇒ ProcessingRules
constructor
A new instance of ProcessingRules.
- #processor_names ⇒ Object
Constructor Details
#initialize(default: nil, packs: {}, events: {}) ⇒ ProcessingRules
Returns a new instance of ProcessingRules.
21 22 23 24 25 |
# File 'lib/event_engine/processing_rules.rb', line 21 def initialize(default: nil, packs: {}, events: {}) @default = default @packs = packs @events = events end |
Class Method Details
.load(path) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/event_engine/processing_rules.rb', line 5 def self.load(path) return new unless File.exist?(path.to_s) contents = YAML.safe_load_file(path.to_s) || {} new( default: contents["default"]&.to_sym, packs: symbolize(contents["packs"]), events: symbolize(contents["events"]) ) end |
.symbolize(section) ⇒ Object
17 18 19 |
# File 'lib/event_engine/processing_rules.rb', line 17 def self.symbolize(section) (section || {}).to_h { |key, value| [ key.to_sym, value&.to_sym ] } end |
Instance Method Details
#any? ⇒ Boolean
31 32 33 |
# File 'lib/event_engine/processing_rules.rb', line 31 def any? !@default.nil? || @packs.any? || @events.any? end |
#for(event_name:, pack:) ⇒ Object
27 28 29 |
# File 'lib/event_engine/processing_rules.rb', line 27 def for(event_name:, pack:) @events[event_name] || @packs[pack] || @default end |
#processor_names ⇒ Object
35 36 37 |
# File 'lib/event_engine/processing_rules.rb', line 35 def processor_names ([ @default ] + @packs.values + @events.values).compact.uniq end |