fastpixapi 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a3c437a7561c393c84e02f8ba6cbf46cefbc88d5086b539ba48f6c6af728788
4
- data.tar.gz: a2d2809644b100069e7fa167d81566c86d68295d8ee6e8050de5ab237283641f
3
+ metadata.gz: 5b15d42c270409c62322989c4699c7be3300b754eba4efb2249333debaf4e205
4
+ data.tar.gz: 851361def468046ea55fb4af42b18ef0c2207c3a957774eb0025b6c87e906010
5
5
  SHA512:
6
- metadata.gz: 6987a3abaafd87e0c3a04d249c21886509cd5ceecfb869c626958411e4e416b717334c5787e3d5e4ca929b86ca4470e6db01568be8ddb302281a189f7c2f51b9
7
- data.tar.gz: 93f166294f695d8db8ca9223150538fec53f904a42caec0e6dc4b771218210185e073344d326a293c3b43b689d6ea9f21a08f2d0a56e2d069a4e7fd699757f7c
6
+ metadata.gz: 025c583ba23437e0274f656ce88c368712642991ce7294296c511eea7b545b4dca8fadd697e0c2a8f57f34c2d95a3c889a29120487d8ebd795f94d44d7a2f24a
7
+ data.tar.gz: 5b8b2e17a03b9957e54f6cbe648774dda1e0182567a959164fdabedc7da07d856289ef1ef868d84140693d35b821751a744f87f1f6b79722a7f56682e4bfc487
@@ -12,19 +12,35 @@ module FastpixClient
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
+ DETAILS_KEY_MAP = {
16
+ # variantChanged details
17
+ 'br' => 'bitrate',
18
+ 'h' => 'height',
19
+ 'w' => 'width',
20
+ 'cd' => 'codec',
21
+ 'fps' => 'fps',
22
+ # requestFailed details
23
+ 'host' => 'hostName',
24
+ 'u' => 'url',
25
+ 't' => 'type',
26
+ 'txt' => 'text',
27
+ 'c' => 'code',
28
+ 'err' => 'error'
29
+ }.freeze
15
30
 
16
- field :event_details, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('event_details') } }
31
+
32
+ field :event_details, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('d') } }
17
33
  # The player_playhead_time represents the current position of the playhead (the point in the video that is being watched) on the video seekbar, measured in milliseconds. This value indicates how far into the video playback has progressed at any given moment.
18
- #
19
- field :player_playhead_time, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('player_playhead_time') } }
34
+ #
35
+ field :player_playhead_time, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('pt') } }
20
36
  # Name of the event.
21
- #
22
- field :event_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('event_name') } }
37
+ #
38
+ field :event_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('e') } }
23
39
  # The unix epoch timestamp which represents the actual time the event has occurred.
24
- #
25
- field :viewer_time, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Integer)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('viewer_time') } }
40
+ #
41
+ field :viewer_time, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Integer)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('vt') } }
26
42
  # The unix epoch timestamp when the event was captured.
27
- #
43
+ #
28
44
  field :event_time, Crystalline::Nilable.new(Crystalline::Union.new(::String, ::Integer)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('event_time') } }
29
45
 
30
46
  sig { params(event_details: T.nilable(T::Hash[Symbol, ::Object]), player_playhead_time: T.nilable(::Integer), event_name: T.nilable(::String), viewer_time: T.nilable(T.any(::String, ::Integer)), event_time: T.nilable(T.any(::String, ::Integer))).void }
@@ -46,6 +62,17 @@ module FastpixClient
46
62
  return false unless @event_time == other.event_time
47
63
  true
48
64
  end
65
+
66
+ def to_dict
67
+ expanded_details = @event_details&.transform_keys { |k| DETAILS_KEY_MAP.fetch(k.to_s, k) }
68
+ result = {
69
+ 'playerPlayheadTime' => @player_playhead_time,
70
+ 'eventName' => @event_name
71
+ }
72
+ result['eventDetails'] = expanded_details if expanded_details
73
+ result['viewerTime'] = @viewer_time
74
+ result
75
+ end
49
76
  end
50
77
  end
51
78
  end
@@ -637,6 +637,33 @@ module FastpixClient
637
637
  return false unless @watch_time == other.watch_time
638
638
  true
639
639
  end
640
+
641
+ def to_dict
642
+ result = {}
643
+ fields.sort_by(&:name).each do |field|
644
+ next if field.name == :events
645
+
646
+ format_json_meta = field.metadata[:format_json]
647
+ key = if !format_json_meta.nil? && format_json_meta.include?(:letter_case)
648
+ format_json_meta[:letter_case].call
649
+ else
650
+ field.name.to_s
651
+ end
652
+
653
+ f = send(field.name)
654
+ if f.nil?
655
+ result[key] = nil
656
+ elsif f.is_a?(Array)
657
+ result[key] = f.map { |o| marshal_single(o) }
658
+ elsif f.is_a?(Hash)
659
+ result[key] = f.transform_values { |v| marshal_single(v) }
660
+ else
661
+ result[key] = marshal_single(f)
662
+ end
663
+ end
664
+ result['events'] = @events&.map(&:to_dict)
665
+ result
666
+ end
640
667
  end
641
668
  end
642
669
  end
@@ -30,6 +30,13 @@ module FastpixClient
30
30
  return false unless @data == other.data
31
31
  true
32
32
  end
33
+
34
+ def to_dict
35
+ {
36
+ 'success' => @success,
37
+ 'data' => @data&.to_dict
38
+ }
39
+ end
33
40
  end
34
41
  end
35
42
  end
@@ -91,9 +91,9 @@ module FastpixClient
91
91
  end
92
92
  @language = 'ruby'
93
93
  @openapi_doc_version = '1.0.0'
94
- @sdk_version = '1.1.0'
94
+ @sdk_version = '1.1.1'
95
95
  @gen_version = '2.801.0'
96
- @user_agent = 'fastpixapi-ruby 1.1.0'
96
+ @user_agent = 'fastpixapi-ruby 1.1.1'
97
97
  end
98
98
 
99
99
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastpixapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - FastPix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-02-04 00:00:00.000000000 Z
11
+ date: 2026-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64