Class: Gitlab::InternalEvents::EventsRouter
- Inherits:
-
Object
- Object
- Gitlab::InternalEvents::EventsRouter
- Includes:
- Utils::StrongMemoize
- Defined in:
- lib/gitlab/internal_events/events_router.rb
Instance Method Summary collapse
- #event_definition ⇒ Object
- #extra_tracking_data(properties) ⇒ Object
-
#initialize(event_name, additional_properties, kwargs) ⇒ EventsRouter
constructor
A new instance of EventsRouter.
- #public_additional_properties ⇒ Object
Constructor Details
#initialize(event_name, additional_properties, kwargs) ⇒ EventsRouter
Returns a new instance of EventsRouter.
8 9 10 11 12 |
# File 'lib/gitlab/internal_events/events_router.rb', line 8 def initialize(event_name, additional_properties, kwargs) @event_name = event_name @additional_properties = additional_properties @kwargs = kwargs end |
Instance Method Details
#event_definition ⇒ Object
19 20 21 |
# File 'lib/gitlab/internal_events/events_router.rb', line 19 def event_definition Gitlab::Tracking::EventDefinition.find(event_name) end |
#extra_tracking_data(properties) ⇒ Object
24 25 26 27 28 |
# File 'lib/gitlab/internal_events/events_router.rb', line 24 def extra_tracking_data(properties) additional_properties.slice(*properties[:protected_properties]) .merge(public_additional_properties) .merge(kwargs) end |
#public_additional_properties ⇒ Object
14 15 16 17 |
# File 'lib/gitlab/internal_events/events_router.rb', line 14 def public_additional_properties public_properties = event_definition.additional_properties.keys additional_properties.slice(*public_properties) end |