plex_ruby_sdk 0.4.1 → 0.4.2

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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/authentication.rb +4 -2
  3. data/lib/plex_ruby_sdk/hubs.rb +35 -0
  4. data/lib/plex_ruby_sdk/library.rb +9 -14
  5. data/lib/plex_ruby_sdk/models/operations/field.rb +7 -7
  6. data/lib/plex_ruby_sdk/models/operations/fieldtype.rb +3 -3
  7. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_directory.rb +1 -1
  8. data/lib/plex_ruby_sdk/models/operations/get_library_details_field.rb +33 -0
  9. data/lib/plex_ruby_sdk/models/operations/get_library_details_fieldtype.rb +27 -0
  10. data/lib/plex_ruby_sdk/models/operations/get_library_details_mediacontainer.rb +2 -2
  11. data/lib/plex_ruby_sdk/models/operations/get_library_details_operator.rb +27 -0
  12. data/lib/plex_ruby_sdk/models/operations/get_library_details_sort.rb +39 -0
  13. data/lib/plex_ruby_sdk/models/operations/get_library_details_type.rb +3 -3
  14. data/lib/plex_ruby_sdk/models/operations/get_library_items_activedirection.rb +19 -0
  15. data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +24 -0
  16. data/lib/plex_ruby_sdk/models/operations/get_library_items_defaultdirection.rb +19 -0
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb +18 -0
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +18 -0
  19. data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
  20. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb +19 -0
  21. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +19 -0
  22. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +33 -0
  23. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb +27 -0
  24. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +36 -0
  25. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +27 -0
  26. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb +20 -0
  27. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +28 -6
  28. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb +47 -0
  29. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +8 -29
  30. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +8 -2
  31. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +12 -5
  32. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb +26 -0
  33. data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +28 -0
  34. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +23 -8
  35. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadatarating.rb +30 -0
  36. data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +18 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +12 -3
  38. data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_includemeta.rb +19 -0
  39. data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +26 -0
  40. data/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb +3 -3
  41. data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +18 -3
  42. data/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb +27 -0
  43. data/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb +3 -3
  44. data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +135 -0
  45. data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +29 -8
  46. data/lib/plex_ruby_sdk/models/operations/get_library_items_ultrablurcolors.rb +33 -0
  47. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_part.rb +2 -2
  48. data/lib/plex_ruby_sdk/models/operations/get_meta_data_by_rating_key_stream.rb +117 -0
  49. data/lib/plex_ruby_sdk/models/operations/get_recently_added_activedirection.rb +19 -0
  50. data/lib/plex_ruby_sdk/models/operations/get_recently_added_defaultdirection.rb +19 -0
  51. data/lib/plex_ruby_sdk/models/operations/get_recently_added_field.rb +33 -0
  52. data/lib/plex_ruby_sdk/models/operations/get_recently_added_fieldtype.rb +27 -0
  53. data/lib/plex_ruby_sdk/models/operations/get_recently_added_filter.rb +36 -0
  54. data/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_response_type.rb +20 -0
  55. data/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb +21 -0
  56. data/lib/plex_ruby_sdk/models/operations/get_recently_added_image.rb +30 -0
  57. data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_unauthorized.rb → get_recently_added_library_badrequest.rb} +2 -2
  58. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_country.rb +24 -0
  59. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_director.rb +24 -0
  60. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb +36 -0
  61. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_genre.rb +24 -0
  62. data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_errors.rb → get_recently_added_library_library_errors.rb} +1 -1
  63. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_media.rb +69 -0
  64. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_mediacontainer.rb +49 -0
  65. data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_metadata.rb → get_recently_added_library_metadata.rb} +8 -8
  66. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_part.rb +51 -0
  67. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_request.rb +55 -0
  68. data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_response.rb → get_recently_added_library_response.rb} +5 -5
  69. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_responsebody.rb +24 -0
  70. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_role.rb +24 -0
  71. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_type.rb +42 -0
  72. data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_badrequest.rb → get_recently_added_library_unauthorized.rb} +4 -4
  73. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_writer.rb +24 -0
  74. data/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb +43 -0
  75. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +252 -0
  76. data/lib/plex_ruby_sdk/models/operations/get_recently_added_operator.rb +27 -0
  77. data/lib/plex_ruby_sdk/models/operations/get_recently_added_request.rb +55 -0
  78. data/lib/plex_ruby_sdk/models/operations/get_recently_added_response.rb +33 -0
  79. data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_responsebody.rb → get_recently_added_responsebody.rb} +1 -1
  80. data/lib/plex_ruby_sdk/models/operations/get_recently_added_sort.rb +47 -0
  81. data/lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb +42 -0
  82. data/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +26 -0
  83. data/lib/plex_ruby_sdk/models/operations/get_search_library_request.rb +2 -2
  84. data/lib/plex_ruby_sdk/models/operations/getpin_request.rb +8 -2
  85. data/lib/plex_ruby_sdk/models/operations/media.rb +26 -20
  86. data/lib/plex_ruby_sdk/models/operations/meta.rb +3 -3
  87. data/lib/plex_ruby_sdk/models/operations/metadatarating.rb +30 -0
  88. data/lib/plex_ruby_sdk/models/operations/operator.rb +3 -3
  89. data/lib/plex_ruby_sdk/models/operations/optimizedforstreaming.rb +18 -0
  90. data/lib/plex_ruby_sdk/models/operations/part.rb +25 -15
  91. data/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_request.rb +45 -0
  92. data/lib/plex_ruby_sdk/models/operations/queryparam_includemeta.rb +19 -0
  93. data/lib/plex_ruby_sdk/models/operations/role.rb +18 -3
  94. data/lib/plex_ruby_sdk/models/operations/sort.rb +19 -11
  95. data/lib/plex_ruby_sdk/models/operations/stream.rb +58 -40
  96. data/lib/plex_ruby_sdk/models/operations.rb +97 -40
  97. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  98. metadata +68 -11
  99. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_mediacontainer.rb +0 -42
  100. data/lib/plex_ruby_sdk/models/operations/getrecentlyadded_request.rb +0 -33
  101. /data/lib/plex_ruby_sdk/models/operations/{getrecentlyadded_library_errors.rb → get_recently_added_library_errors.rb} +0 -0
@@ -12,57 +12,63 @@ module PlexRubySDK
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
15
+ field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
16
16
 
17
- field :audio_channels, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
17
+ field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
18
18
 
19
- field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
19
+ field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
20
20
 
21
- field :bitrate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
21
+ field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
22
22
 
23
- field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
23
+ field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
24
24
 
25
- field :duration, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
25
+ field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
26
 
27
- field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
27
+ field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
28
+
29
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
28
30
 
29
- field :height, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
31
+ field :part, T::Array[::PlexRubySDK::Operations::Part], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
30
32
 
31
- field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
33
+ field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
32
34
 
33
- field :optimized_for_streaming, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
35
+ field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
34
36
 
35
- field :part, T.nilable(T::Array[::PlexRubySDK::Operations::Part]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
37
+ field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
36
38
 
37
- field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
39
+ field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
38
40
 
39
- field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
41
+ field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
40
42
 
41
- field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
43
+ field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
44
+
45
+ field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
42
46
 
43
- field :video_resolution, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
47
+ field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
44
48
 
45
- field :width, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
49
+ field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::OptimizedForStreaming, true) } }
46
50
 
47
51
 
48
- sig { params(aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Float), audio_codec: T.nilable(::String), bitrate: T.nilable(::Float), container: T.nilable(::String), duration: T.nilable(::Float), has64bit_offsets: T.nilable(T::Boolean), height: T.nilable(::Float), id: T.nilable(::Float), optimized_for_streaming: T.nilable(::Float), part: T.nilable(T::Array[::PlexRubySDK::Operations::Part]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::Float), width: T.nilable(::Float)).void }
49
- def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, has64bit_offsets: nil, height: nil, id: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
52
+ sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::Part], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming)).void }
53
+ def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil, audio_profile: nil, has64bit_offsets: nil, has_voice_activity: nil, optimized_for_streaming: nil)
50
54
  @aspect_ratio = aspect_ratio
51
55
  @audio_channels = audio_channels
52
56
  @audio_codec = audio_codec
53
57
  @bitrate = bitrate
54
58
  @container = container
55
59
  @duration = duration
56
- @has64bit_offsets = has64bit_offsets
57
60
  @height = height
58
61
  @id = id
59
- @optimized_for_streaming = optimized_for_streaming
60
62
  @part = part
61
63
  @video_codec = video_codec
62
64
  @video_frame_rate = video_frame_rate
63
65
  @video_profile = video_profile
64
66
  @video_resolution = video_resolution
65
67
  @width = width
68
+ @audio_profile = audio_profile
69
+ @has64bit_offsets = has64bit_offsets
70
+ @has_voice_activity = has_voice_activity
71
+ @optimized_for_streaming = optimized_for_streaming
66
72
  end
67
73
  end
68
74
  end
@@ -13,12 +13,12 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
 
15
15
 
16
- field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } }
16
+ field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } }
17
17
 
18
- field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } }
18
+ field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } }
19
19
 
20
20
 
21
- sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryType])).void }
21
+ sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedType])).void }
22
22
  def initialize(field_type: nil, type: nil)
23
23
  @field_type = field_type
24
24
  @type = type
@@ -0,0 +1,30 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+
10
+
11
+ class MetaDataRating < ::PlexRubySDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # A URI or path to the rating image.
15
+ field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } }
16
+ # The type of rating (e.g., audience, critic).
17
+ field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
18
+ # The value of the rating.
19
+ field :value, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('value') } }
20
+
21
+
22
+ sig { params(image: ::String, type: ::String, value: ::Float).void }
23
+ def initialize(image: nil, type: nil, value: nil)
24
+ @image = image
25
+ @type = type
26
+ @value = value
27
+ end
28
+ end
29
+ end
30
+ end
@@ -12,12 +12,12 @@ module PlexRubySDK
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
15
+ field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
16
16
 
17
- field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
17
+ field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
18
18
 
19
19
 
20
- sig { params(key: T.nilable(::String), title: T.nilable(::String)).void }
20
+ sig { params(key: ::String, title: ::String).void }
21
21
  def initialize(key: nil, title: nil)
22
22
  @key = key
23
23
  @title = title
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+
10
+
11
+ class OptimizedForStreaming < T::Enum
12
+ enums do
13
+ DISABLE = new(0)
14
+ ENABLE = new(1)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -11,40 +11,50 @@ module PlexRubySDK
11
11
  class Part < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # The container format of the media file.
15
+ #
16
+ field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
14
17
 
15
- field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
18
+ field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
16
19
 
17
- field :duration, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
20
+ field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
18
21
 
19
- field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
22
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
23
 
21
- field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
24
+ field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
22
25
 
23
- field :has_thumbnail, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail') } }
26
+ field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
24
27
 
25
- field :id, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
28
+ field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
26
29
 
27
- field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
30
+ field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
28
31
 
29
- field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
32
+ field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
30
33
 
31
- field :size, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
34
+ field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::HasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::HasThumbnail, true) } }
35
+
36
+ field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
37
+
38
+ field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
32
39
 
33
- field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
40
+ field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
34
41
 
35
42
 
36
- sig { params(container: T.nilable(::String), duration: T.nilable(::Float), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::Float), id: T.nilable(::Float), key: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), size: T.nilable(::Float), video_profile: T.nilable(::String)).void }
37
- def initialize(container: nil, duration: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, id: nil, key: nil, optimized_for_streaming: nil, size: nil, video_profile: nil)
43
+ sig { params(container: ::String, duration: ::Integer, file: ::String, id: ::Integer, key: ::String, size: ::Integer, video_profile: ::String, audio_profile: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::Stream])).void }
44
+ def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil, audio_profile: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil)
38
45
  @container = container
39
46
  @duration = duration
40
47
  @file = file
41
- @has64bit_offsets = has64bit_offsets
42
- @has_thumbnail = has_thumbnail
43
48
  @id = id
44
49
  @key = key
45
- @optimized_for_streaming = optimized_for_streaming
46
50
  @size = size
47
51
  @video_profile = video_profile
52
+ @audio_profile = audio_profile
53
+ @has64bit_offsets = has64bit_offsets
54
+ @has_thumbnail = has_thumbnail
55
+ @indexes = indexes
56
+ @optimized_for_streaming = optimized_for_streaming
57
+ @stream = stream
48
58
  end
49
59
  end
50
60
  end
@@ -0,0 +1,45 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+ POST_USERS_SIGN_IN_DATA_REQUEST_SERVERS = [
10
+ 'https://plex.tv/api/v2/'
11
+ ].freeze
12
+
13
+
14
+ class PostUsersSignInDataRequest < ::PlexRubySDK::Utils::FieldAugmented
15
+ extend T::Sig
16
+
17
+ # The unique identifier for the client application
18
+ # This is used to track the client application and its usage
19
+ # (UUID, serial number, or other number unique per device)
20
+ #
21
+ field :client_id, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'form', 'explode': true } }
22
+
23
+ field :client_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Product', 'style': 'form', 'explode': true } }
24
+
25
+ field :client_platform, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Platform', 'style': 'form', 'explode': true } }
26
+
27
+ field :client_version, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Version', 'style': 'form', 'explode': true } }
28
+
29
+ field :device_name, T.nilable(::String), { 'query_param': { 'field_name': 'X-Plex-Device', 'style': 'form', 'explode': true } }
30
+ # Login credentials
31
+ field :request_body, T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody), { 'request': { 'media_type': 'application/x-www-form-urlencoded' } }
32
+
33
+
34
+ sig { params(client_id: T.nilable(::String), client_name: T.nilable(::String), client_platform: T.nilable(::String), client_version: T.nilable(::String), device_name: T.nilable(::String), request_body: T.nilable(::PlexRubySDK::Operations::PostUsersSignInDataRequestBody)).void }
35
+ def initialize(client_id: nil, client_name: nil, client_platform: nil, client_version: nil, device_name: nil, request_body: nil)
36
+ @client_id = client_id
37
+ @client_name = client_name
38
+ @client_platform = client_platform
39
+ @client_version = client_version
40
+ @device_name = device_name
41
+ @request_body = request_body
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Operations
9
+
10
+ # QueryParamIncludeMeta - Adds the Meta object to the response
11
+ #
12
+ class QueryParamIncludeMeta < T::Enum
13
+ enums do
14
+ DISABLE = new(0)
15
+ ENABLE = new(1)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -11,13 +11,28 @@ module PlexRubySDK
11
11
  class Role < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
-
14
+ # The filter used to find the actor or tag.
15
+ field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
+ # The ID of the tag or actor.
17
+ field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The role of the actor or tag in the media.
19
+ field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
20
+ # The name of the tag or actor.
15
21
  field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
+ # Unique identifier for the tag.
23
+ field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
24
+ # The thumbnail of the actor
25
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
16
26
 
17
27
 
18
- sig { params(tag: T.nilable(::String)).void }
19
- def initialize(tag: nil)
28
+ sig { params(filter: T.nilable(::String), id: T.nilable(::Integer), role: T.nilable(::String), tag: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ def initialize(filter: nil, id: nil, role: nil, tag: nil, tag_key: nil, thumb: nil)
30
+ @filter = filter
31
+ @id = id
32
+ @role = role
20
33
  @tag = tag
34
+ @tag_key = tag_key
35
+ @thumb = thumb
21
36
  end
22
37
  end
23
38
  end
@@ -11,28 +11,36 @@ module PlexRubySDK
11
11
  class Sort < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # The direction of the sort. Can be either `asc` or `desc`.
15
+ #
16
+ field :default_direction, ::PlexRubySDK::Operations::DefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::DefaultDirection, false) } }
14
17
 
15
- field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
18
+ field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
16
19
 
17
- field :default_direction, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection') } }
20
+ field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
18
21
 
19
- field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } }
22
+ field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
23
+ # The direction of the sort. Can be either `asc` or `desc`.
24
+ #
25
+ field :active_direction, T.nilable(::PlexRubySDK::Operations::ActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ActiveDirection, true) } }
20
26
 
21
- field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } }
27
+ field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
22
28
 
23
- field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
29
+ field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } }
24
30
 
25
- field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
31
+ field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } }
26
32
 
27
33
 
28
- sig { params(default: T.nilable(::String), default_direction: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String), key: T.nilable(::String), title: T.nilable(::String)).void }
29
- def initialize(default: nil, default_direction: nil, desc_key: nil, first_character_key: nil, key: nil, title: nil)
30
- @default = default
34
+ sig { params(default_direction: ::PlexRubySDK::Operations::DefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::ActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void }
35
+ def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil)
31
36
  @default_direction = default_direction
32
- @desc_key = desc_key
33
- @first_character_key = first_character_key
34
37
  @key = key
35
38
  @title = title
39
+ @active = active
40
+ @active_direction = active_direction
41
+ @default = default
42
+ @desc_key = desc_key
43
+ @first_character_key = first_character_key
36
44
  end
37
45
  end
38
46
  end
@@ -11,80 +11,98 @@ module PlexRubySDK
11
11
  class Stream < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
-
14
+ # Codec used by the stream
15
+ field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
16
+
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The index of the stream
19
+ field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
20
+ # Type of stream (1 = video, 2 = audio, 3 = subtitle)
21
+ field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
22
+ # The audio channel layout
23
+ field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
24
+ # The bit depth of the video stream
15
25
  field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
16
-
26
+ # The bitrate of the stream in kbps
17
27
  field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
18
-
28
+ # Indicates if the subtitle stream can auto-sync
29
+ field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } }
30
+ # Number of audio channels (for audio streams)
19
31
  field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } }
20
-
32
+ # The chroma location of the video stream
21
33
  field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
22
-
34
+ # The chroma subsampling format
23
35
  field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
24
36
 
25
- field :codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
26
-
37
+ field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } }
38
+ # The coded height of the video stream
27
39
  field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
28
-
40
+ # The coded width of the video stream
29
41
  field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } }
30
-
42
+ # The color primaries of the video stream
31
43
  field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } }
32
-
44
+ # The color range of the video stream
33
45
  field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } }
34
-
46
+ # The color space of the video stream
35
47
  field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } }
36
-
48
+ # The transfer characteristics (TRC) of the video stream
37
49
  field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
38
-
50
+ # Indicates if this is the default stream
39
51
  field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
40
-
52
+ # Display title of the stream
41
53
  field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
42
54
 
55
+ field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
56
+ # Extended display title of the stream
43
57
  field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
44
-
45
- field :frame_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
46
-
58
+ # The frame rate of the video stream
59
+ field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
60
+ # Indicates if the stream has a scaling matrix
47
61
  field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
48
62
 
63
+ field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
64
+ # The height of the video stream
49
65
  field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
50
-
51
- field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
52
-
53
- field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
54
-
66
+ # The language of the stream (for audio/subtitle streams)
55
67
  field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
56
-
68
+ # Language code of the stream
57
69
  field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
58
-
70
+ # Language tag of the stream
59
71
  field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
60
-
72
+ # The level of the video codec
61
73
  field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
62
-
74
+ # The profile of the video codec
63
75
  field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } }
64
-
76
+ # Number of reference frames
65
77
  field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } }
66
-
78
+ # Sampling rate of the audio stream in Hz
67
79
  field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } }
68
-
80
+ # The scan type (progressive or interlaced)
69
81
  field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } }
70
-
82
+ # Indicates if the stream is selected
71
83
  field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } }
72
-
84
+ # The identifier of the video stream
73
85
  field :stream_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamIdentifier') } }
74
-
75
- field :stream_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
76
-
86
+ # Title of the subtitle track (for subtitle streams)
87
+ field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
88
+ # The width of the video stream
77
89
  field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
78
90
 
79
91
 
80
- sig { params(bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), codec: T.nilable(::String), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Integer), has_scaling_matrix: T.nilable(T::Boolean), height: T.nilable(::Integer), id: T.nilable(::Integer), index: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), stream_identifier: T.nilable(::String), stream_type: T.nilable(::Integer), width: T.nilable(::Integer)).void }
81
- def initialize(bit_depth: nil, bitrate: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, codec: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, height: nil, id: nil, index: nil, language: nil, language_code: nil, language_tag: nil, level: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, stream_identifier: nil, stream_type: nil, width: nil)
92
+ sig { params(codec: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), embedded_in_video: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), stream_identifier: T.nilable(::String), title: T.nilable(::String), width: T.nilable(::Integer)).void }
93
+ def initialize(codec: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, embedded_in_video: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, stream_identifier: nil, title: nil, width: nil)
94
+ @codec = codec
95
+ @id = id
96
+ @index = index
97
+ @stream_type = stream_type
98
+ @audio_channel_layout = audio_channel_layout
82
99
  @bit_depth = bit_depth
83
100
  @bitrate = bitrate
101
+ @can_auto_sync = can_auto_sync
84
102
  @channels = channels
85
103
  @chroma_location = chroma_location
86
104
  @chroma_subsampling = chroma_subsampling
87
- @codec = codec
105
+ @closed_captions = closed_captions
88
106
  @coded_height = coded_height
89
107
  @coded_width = coded_width
90
108
  @color_primaries = color_primaries
@@ -93,12 +111,12 @@ module PlexRubySDK
93
111
  @color_trc = color_trc
94
112
  @default = default
95
113
  @display_title = display_title
114
+ @embedded_in_video = embedded_in_video
96
115
  @extended_display_title = extended_display_title
97
116
  @frame_rate = frame_rate
98
117
  @has_scaling_matrix = has_scaling_matrix
118
+ @hearing_impaired = hearing_impaired
99
119
  @height = height
100
- @id = id
101
- @index = index
102
120
  @language = language
103
121
  @language_code = language_code
104
122
  @language_tag = language_tag
@@ -109,7 +127,7 @@ module PlexRubySDK
109
127
  @scan_type = scan_type
110
128
  @selected = selected
111
129
  @stream_identifier = stream_identifier
112
- @stream_type = stream_type
130
+ @title = title
113
131
  @width = width
114
132
  end
115
133
  end