Class: FastpixClient::Models::Components::Event
- Inherits:
-
Object
- Object
- FastpixClient::Models::Components::Event
- Extended by:
- T::Sig
- Includes:
- Crystalline::MetadataFields
- Defined in:
- lib/fastpix_client/models/components/event.rb
Constant Summary collapse
- DETAILS_KEY_MAP =
{ # variantChanged details 'br' => 'bitrate', 'h' => 'height', 'w' => 'width', 'cd' => 'codec', 'fps' => 'fps', # requestFailed details 'host' => 'hostName', 'u' => 'url', 't' => 'type', 'txt' => 'text', 'c' => 'code', 'err' => 'error' }.freeze
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(event_details: nil, player_playhead_time: nil, event_name: nil, viewer_time: nil, event_time: nil) ⇒ Event
constructor
A new instance of Event.
- #to_dict ⇒ Object
Methods included from Crystalline::MetadataFields
#field, #fields, included, #marshal_single, #to_json
Constructor Details
#initialize(event_details: nil, player_playhead_time: nil, event_name: nil, viewer_time: nil, event_time: nil) ⇒ Event
Returns a new instance of Event.
47 48 49 50 51 52 53 |
# File 'lib/fastpix_client/models/components/event.rb', line 47 def initialize(event_details: nil, player_playhead_time: nil, event_name: nil, viewer_time: nil, event_time: nil) @event_details = event_details @player_playhead_time = player_playhead_time @event_name = event_name @viewer_time = viewer_time @event_time = event_time end |
Instance Method Details
#==(other) ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/fastpix_client/models/components/event.rb', line 56 def ==(other) return false unless other.is_a? self.class return false unless @event_details == other.event_details return false unless @player_playhead_time == other.player_playhead_time return false unless @event_name == other.event_name return false unless @viewer_time == other.viewer_time return false unless @event_time == other.event_time true end |
#to_dict ⇒ Object
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/fastpix_client/models/components/event.rb', line 66 def to_dict = @event_details&.transform_keys { |k| DETAILS_KEY_MAP.fetch(k.to_s, k) } result = { 'playerPlayheadTime' => @player_playhead_time, 'eventName' => @event_name } result['eventDetails'] = if result['viewerTime'] = @viewer_time result end |