Class: EventEngine::RulesFile

Inherits:
Object
  • Object
show all
Defined in:
lib/event_engine/rules_file.rb

Class Method Summary collapse

Class Method Details

.sync(path:, event_names:) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/event_engine/rules_file.rb', line 5

def self.sync(path:, event_names:)
  existing = File.exist?(path.to_s) ? (YAML.safe_load_file(path.to_s) || {}) : {}
  decided = existing["events"] || {}
  events = event_names.to_h { |name| [ name.to_s, decided[name.to_s] ] }

  File.write(path, YAML.dump(existing.merge("events" => events)))
  path
end