Class: FastpixClient::Models::Components::Event

Inherits:
Object
  • Object
show all
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

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_dictObject



66
67
68
69
70
71
72
73
74
75
# File 'lib/fastpix_client/models/components/event.rb', line 66

def to_dict
  expanded_details = @event_details&.transform_keys { |k| DETAILS_KEY_MAP.fetch(k.to_s, k) }
  result = {
    'playerPlayheadTime' => @player_playhead_time,
    'eventName'          => @event_name
  }
  result['eventDetails'] = expanded_details if expanded_details
  result['viewerTime'] = @viewer_time
  result
end