Class: Hackle::UserEventSerializer
- Inherits:
- 
      Object
      
        - Object
- Hackle::UserEventSerializer
 
- Defined in:
- lib/hackle/internal/event/user_event_dispatcher.rb
Instance Method Summary collapse
- #exposure_event(event) ⇒ Hash
- #remote_config_event(event) ⇒ Hash
- #serialize(events) ⇒ Hash
- #track_event(event) ⇒ Hash
Instance Method Details
#exposure_event(event) ⇒ Hash
| 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | # File 'lib/hackle/internal/event/user_event_dispatcher.rb', line 95 def exposure_event(event) { insertId: event.insert_id, timestamp: event., userId: event.user.identifiers['$id'], identifiers: event.user.identifiers, userProperties: event.user.properties, hackleProperties: {}, experimentId: event.experiment.id, experimentKey: event.experiment.key, experimentType: event.experiment.type.name, experimentVersion: event.experiment.version, variationId: event.variation_id, variationKey: event.variation_key, decisionReason: event.decision_reason, properties: event.properties } end | 
#remote_config_event(event) ⇒ Hash
| 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | # File 'lib/hackle/internal/event/user_event_dispatcher.rb', line 137 def remote_config_event(event) { insertId: event.insert_id, timestamp: event., userId: event.user.identifiers['$id'], identifiers: event.user.identifiers, userProperties: event.user.properties, hackleProperties: {}, parameterId: event.parameter.id, parameterKey: event.parameter.key, parameterType: event.parameter.type.name, valueId: event.value_id, decisionReason: event.decision_reason, properties: event.properties } end | 
#serialize(events) ⇒ Hash
| 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | # File 'lib/hackle/internal/event/user_event_dispatcher.rb', line 76 def serialize(events) exposure_events = [] track_events = [] remote_config_events = [] events.each do |event| exposure_events << exposure_event(event) if event.is_a? ExposureEvent track_events << track_event(event) if event.is_a? TrackEvent remote_config_events << remote_config_event(event) if event.is_a? RemoteConfigEvent end { exposureEvents: exposure_events, trackEvents: track_events, remoteConfigEvents: remote_config_events } end | 
#track_event(event) ⇒ Hash
| 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # File 'lib/hackle/internal/event/user_event_dispatcher.rb', line 118 def track_event(event) { insertId: event.insert_id, timestamp: event., userId: event.user.identifiers['$id'], identifiers: event.user.identifiers, userProperties: event.user.properties, hackleProperties: {}, eventTypeId: event.event_type.id, eventTypeKey: event.event_type.key, value: event.event.value, properties: event.event.properties } end |