Class: Tasker::Constants::EventDefinitions
- Inherits:
-
Object
- Object
- Tasker::Constants::EventDefinitions
- Defined in:
- lib/tasker/constants/event_definitions.rb
Overview
EventDefinitions provides a bridge between event constants and their metadata
This class loads event metadata from system_events.yml and provides methods to find events by constant, retrieve all events by category, etc. It serves as the single source of truth for event documentation and payload schemas.
Class Method Summary collapse
-
.all_constants ⇒ Array<String>
Get all event constants.
-
.all_events ⇒ Hash
Get all events grouped by category.
-
.events_by_category(category) ⇒ Hash
Get events for a specific category.
-
.find_by(constant:) ⇒ Hash?
Find event definition by constant name.
-
.refresh! ⇒ void
Refresh cached data (useful for testing).
Class Method Details
.all_constants ⇒ Array<String>
Get all event constants
40 41 42 |
# File 'lib/tasker/constants/event_definitions.rb', line 40 def all_constants .values.pluck('constant').compact end |
.all_events ⇒ Hash
Get all events grouped by category
25 26 27 |
# File 'lib/tasker/constants/event_definitions.rb', line 25 def all_events @all_events ||= build_all_events end |
.events_by_category(category) ⇒ Hash
Get events for a specific category
33 34 35 |
# File 'lib/tasker/constants/event_definitions.rb', line 33 def events_by_category(category) all_events[category.to_s] || {} end |
.find_by(constant:) ⇒ Hash?
Find event definition by constant name
18 19 20 |
# File 'lib/tasker/constants/event_definitions.rb', line 18 def find_by(constant:) .find { |_key, data| data['constant'] == constant }&.last end |
.refresh! ⇒ void
This method returns an undefined value.
Refresh cached data (useful for testing)
47 48 49 50 |
# File 'lib/tasker/constants/event_definitions.rb', line 47 def refresh! @event_metadata = nil @all_events = nil end |