plex_ruby_sdk 0.13.1 → 0.17.0

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/library.rb +13 -12
  3. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_badrequest.rb → get_library_sections_all_badrequest.rb} +3 -3
  4. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_errors.rb → get_library_sections_all_errors.rb} +1 -1
  5. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_library_errors.rb → get_library_sections_all_library_errors.rb} +1 -1
  6. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_unauthorized.rb → get_library_sections_all_unauthorized.rb} +3 -3
  7. data/lib/plex_ruby_sdk/models/errors.rb +4 -4
  8. data/lib/plex_ruby_sdk/models/operations/country.rb +8 -6
  9. data/lib/plex_ruby_sdk/models/operations/director.rb +18 -2
  10. data/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +1 -0
  11. data/lib/plex_ruby_sdk/models/operations/genre.rb +3 -1
  12. data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
  13. data/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb +5 -3
  14. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb +4 -0
  15. data/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb +5 -3
  16. data/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb +5 -3
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +3 -3
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +10 -4
  19. data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +12 -4
  20. data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +2 -6
  21. data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +13 -6
  22. data/lib/plex_ruby_sdk/models/operations/{mediaguid.rb → get_library_items_guids.rb} +2 -3
  23. data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +2 -1
  24. data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
  25. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_collection.rb → get_library_items_library_optimizedforstreaming.rb} +5 -9
  26. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +6 -41
  27. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +42 -10
  28. data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +3 -3
  29. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +32 -25
  30. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +39 -48
  31. data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +3 -3
  32. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +146 -141
  33. data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +12 -4
  34. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_optimizedforstreaming_1.rb → get_library_items_optimizedforstreaming_1.rb} +1 -1
  35. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +36 -28
  36. data/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb +53 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +5 -3
  38. data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +12 -18
  39. data/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb +41 -0
  40. data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +14 -46
  41. data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +12 -4
  42. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_activedirection.rb → get_library_sections_all_activedirection.rb} +2 -2
  43. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_collection.rb → get_library_sections_all_collection.rb} +1 -1
  44. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_country.rb → get_library_sections_all_country.rb} +1 -1
  45. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_activedirection.rb → get_library_sections_all_defaultdirection.rb} +2 -2
  46. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_director.rb → get_library_sections_all_director.rb} +1 -1
  47. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_field.rb → get_library_sections_all_field.rb} +1 -1
  48. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_fieldtype.rb → get_library_sections_all_fieldtype.rb} +3 -3
  49. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_filter.rb → get_library_sections_all_filter.rb} +1 -1
  50. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_genre.rb → get_library_sections_all_genre.rb} +1 -1
  51. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_mediaguid.rb → get_library_sections_all_guids.rb} +2 -3
  52. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_hasthumbnail.rb → get_library_sections_all_hasthumbnail.rb} +2 -2
  53. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_image.rb → get_library_sections_all_image.rb} +3 -3
  54. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_optimizedforstreaming.rb → get_library_sections_all_library_optimizedforstreaming.rb} +1 -1
  55. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_response_type.rb → get_library_sections_all_library_response_type.rb} +1 -1
  56. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_type.rb → get_library_sections_all_library_type.rb} +6 -2
  57. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_media.rb → get_library_sections_all_media.rb} +4 -4
  58. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_mediacontainer.rb → get_library_sections_all_mediacontainer.rb} +13 -13
  59. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_meta.rb → get_library_sections_all_meta.rb} +4 -4
  60. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_metadata.rb → get_library_sections_all_metadata.rb} +18 -18
  61. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_operator.rb → get_library_sections_all_operator.rb} +1 -1
  62. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_optimizedforstreaming.rb → get_library_sections_all_optimizedforstreaming.rb} +1 -1
  63. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb +20 -0
  64. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_1.rb +20 -0
  65. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_part.rb → get_library_sections_all_part.rb} +5 -5
  66. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_queryparam_includemeta.rb → get_library_sections_all_queryparam_includemeta.rb} +2 -2
  67. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_queryparam_type.rb → get_library_sections_all_queryparam_type.rb} +7 -5
  68. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_request.rb → get_library_sections_all_request.rb} +4 -4
  69. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_response.rb → get_library_sections_all_response.rb} +3 -3
  70. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_responsebody.rb → get_library_sections_all_responsebody.rb} +3 -3
  71. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_role.rb → get_library_sections_all_role.rb} +1 -1
  72. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_sort.rb → get_library_sections_all_sort.rb} +4 -4
  73. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_stream.rb → get_library_sections_all_stream.rb} +6 -6
  74. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_type.rb → get_library_sections_all_type.rb} +5 -5
  75. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_ultrablurcolors.rb → get_library_sections_all_ultrablurcolors.rb} +1 -1
  76. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_writer.rb → get_library_sections_all_writer.rb} +1 -1
  77. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb +37 -0
  78. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb +53 -0
  79. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +8 -6
  80. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +4 -4
  81. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb +33 -0
  82. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +3 -1
  83. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb +2 -1
  84. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +1 -0
  85. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +1 -0
  86. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb +53 -0
  87. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +5 -3
  88. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +10 -10
  89. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +22 -22
  90. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +16 -15
  91. data/lib/plex_ruby_sdk/models/operations/{metadatarating.rb → get_media_meta_data_ratings.rb} +3 -3
  92. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb +3 -3
  93. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +12 -8
  94. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +18 -18
  95. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb +5 -1
  96. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +2 -2
  97. data/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb +5 -1
  98. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +18 -18
  99. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +10 -4
  100. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +12 -4
  101. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb +81 -0
  102. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +1 -0
  103. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +13 -6
  104. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_guids.rb → get_search_all_libraries_guids.rb} +4 -4
  105. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +2 -1
  106. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb +29 -0
  107. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +3 -3
  108. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +32 -25
  109. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +32 -4
  110. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +128 -147
  111. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +12 -4
  112. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb +20 -0
  113. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb +20 -0
  114. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +36 -28
  115. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +12 -18
  116. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +6 -5
  117. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb +5 -1
  118. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +12 -4
  119. data/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +5 -3
  120. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +5 -3
  121. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb +14 -14
  122. data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → gettopwatchedcontent_queryparam_includeguids.rb} +4 -8
  123. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +5 -3
  124. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb +3 -3
  125. data/lib/plex_ruby_sdk/models/operations/guids.rb +3 -3
  126. data/lib/plex_ruby_sdk/models/operations/producer.rb +5 -4
  127. data/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +5 -3
  128. data/lib/plex_ruby_sdk/models/operations/rating.rb +1 -1
  129. data/lib/plex_ruby_sdk/models/operations/role.rb +12 -8
  130. data/lib/plex_ruby_sdk/models/operations/searchresult.rb +10 -6
  131. data/lib/plex_ruby_sdk/models/operations/showordering.rb +6 -5
  132. data/lib/plex_ruby_sdk/models/operations/stream.rb +5 -5
  133. data/lib/plex_ruby_sdk/models/operations/type.rb +5 -3
  134. data/lib/plex_ruby_sdk/models/operations/writer.rb +7 -3
  135. data/lib/plex_ruby_sdk/models/operations.rb +54 -59
  136. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  137. metadata +57 -62
  138. data/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +0 -20
  139. data/lib/plex_ruby_sdk/models/operations/episodesort.rb +0 -21
  140. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb +0 -21
  141. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb +0 -37
  142. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb +0 -63
  143. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb +0 -25
  144. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +0 -21
  145. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +0 -45
  146. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +0 -49
  147. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +0 -37
  148. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb +0 -22
  149. data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
  150. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +0 -25
  151. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +0 -20
  152. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +0 -21
  153. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +0 -41
  154. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb +0 -181
@@ -13,66 +13,74 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The container format of the media file.
17
- #
18
- field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
19
-
20
- field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
21
-
16
+ # Unique part identifier.
22
17
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
23
-
24
- field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
25
-
26
- field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
27
-
18
+ # Indicates if the part is accessible.
19
+ field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } }
20
+ # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
28
21
  field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
29
-
22
+ # Container format of the part.
23
+ field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
24
+ # Duration of the part in milliseconds.
30
25
  field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
+ # Indicates if the part exists.
27
+ field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } }
28
+ # File path for the part.
29
+ field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
31
30
 
32
31
  field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
33
32
 
34
33
  field :has_thumbnail, T.nilable(Models::Operations::GetLibraryItemsHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsHasThumbnail, true) } }
35
34
 
36
35
  field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
36
+ # Key to access this part.
37
+ field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
38
+ # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
39
+ #
40
+ field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetLibraryItemsOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
37
41
 
38
- field :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
39
-
40
- field :stream, T.nilable(T::Array[Models::Operations::GetLibraryItemsStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
41
-
42
+ field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } }
43
+ # File size in bytes.
44
+ field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
45
+ # Video profile for the part.
42
46
  field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
43
47
 
44
48
 
45
- sig { params(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[Models::Operations::GetLibraryItemsStream]), video_profile: T.nilable(::String)).void }
46
- def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil)
47
- @container = container
48
- @file = file
49
+ sig { params(id: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), file: T.nilable(::String), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(Models::Operations::GetLibraryItemsHasThumbnail), indexes: T.nilable(::String), key: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetLibraryItemsOptimizedForStreaming1, T::Boolean)), packet_length: T.nilable(::Integer), size: T.nilable(::Integer), video_profile: T.nilable(::String)).void }
50
+ def initialize(id: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, file: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, key: nil, optimized_for_streaming: nil, packet_length: nil, size: nil, video_profile: nil)
49
51
  @id = id
50
- @key = key
51
- @size = size
52
+ @accessible = accessible
52
53
  @audio_profile = audio_profile
54
+ @container = container
53
55
  @duration = duration
56
+ @exists = exists
57
+ @file = file
54
58
  @has64bit_offsets = has64bit_offsets
55
59
  @has_thumbnail = has_thumbnail
56
60
  @indexes = indexes
61
+ @key = key
57
62
  @optimized_for_streaming = optimized_for_streaming
58
- @stream = stream
63
+ @packet_length = packet_length
64
+ @size = size
59
65
  @video_profile = video_profile
60
66
  end
61
67
 
62
68
  def ==(other)
63
69
  return false unless other.is_a? self.class
64
- return false unless @container == other.container
65
- return false unless @file == other.file
66
70
  return false unless @id == other.id
67
- return false unless @key == other.key
68
- return false unless @size == other.size
71
+ return false unless @accessible == other.accessible
69
72
  return false unless @audio_profile == other.audio_profile
73
+ return false unless @container == other.container
70
74
  return false unless @duration == other.duration
75
+ return false unless @exists == other.exists
76
+ return false unless @file == other.file
71
77
  return false unless @has64bit_offsets == other.has64bit_offsets
72
78
  return false unless @has_thumbnail == other.has_thumbnail
73
79
  return false unless @indexes == other.indexes
80
+ return false unless @key == other.key
74
81
  return false unless @optimized_for_streaming == other.optimized_for_streaming
75
- return false unless @stream == other.stream
82
+ return false unless @packet_length == other.packet_length
83
+ return false unless @size == other.size
76
84
  return false unless @video_profile == other.video_profile
77
85
  true
78
86
  end
@@ -0,0 +1,53 @@
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 Models
9
+ module Operations
10
+
11
+
12
+ class GetLibraryItemsProducer
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The filter string for the role.
17
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
18
+ # The unique role identifier.
19
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
+ # The actor's name.
21
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
+ # A key associated with the actor tag.
23
+ field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
24
+ # The character name or role.
25
+ field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
26
+ # URL for the role thumbnail image.
27
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
28
+
29
+
30
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
31
+ def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
32
+ @filter = filter
33
+ @id = id
34
+ @tag = tag
35
+ @tag_key = tag_key
36
+ @role = role
37
+ @thumb = thumb
38
+ end
39
+
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @filter == other.filter
43
+ return false unless @id == other.id
44
+ return false unless @tag == other.tag
45
+ return false unless @tag_key == other.tag_key
46
+ return false unless @role == other.role
47
+ return false unless @thumb == other.thumb
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -21,9 +21,11 @@ module PlexRubySDK
21
21
  TV_SHOW = new(2)
22
22
  SEASON = new(3)
23
23
  EPISODE = new(4)
24
- AUDIO = new(8)
25
- ALBUM = new(9)
26
- TRACK = new(10)
24
+ ARTIST = new(5)
25
+ ALBUM = new(6)
26
+ TRACK = new(7)
27
+ PHOTO_ALBUM = new(8)
28
+ PHOTO = new(9)
27
29
  end
28
30
  end
29
31
  end
@@ -13,37 +13,31 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The filter used to find the actor or tag.
17
- field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
18
- # The ID of the tag or actor.
19
- field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
- # The role of the actor or tag in the media.
16
+ # The unique identifier for the role.
17
+ # NOTE: This is different for each Plex server and is not globally unique.
18
+ #
19
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
+ # The display tag for the actor (typically the actor's name).
21
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
+ # The role played by the actor in the media item.
21
23
  field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
22
- # The name of the tag or actor.
23
- field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
24
- # Unique identifier for the tag.
25
- field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
26
- # The thumbnail of the actor
24
+ # The absolute URL of the thumbnail image for the actor.
27
25
  field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
28
26
 
29
27
 
30
- 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 }
31
- def initialize(filter: nil, id: nil, role: nil, tag: nil, tag_key: nil, thumb: nil)
32
- @filter = filter
28
+ sig { params(id: ::Integer, tag: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ def initialize(id: nil, tag: nil, role: nil, thumb: nil)
33
30
  @id = id
34
- @role = role
35
31
  @tag = tag
36
- @tag_key = tag_key
32
+ @role = role
37
33
  @thumb = thumb
38
34
  end
39
35
 
40
36
  def ==(other)
41
37
  return false unless other.is_a? self.class
42
- return false unless @filter == other.filter
43
38
  return false unless @id == other.id
44
- return false unless @role == other.role
45
39
  return false unless @tag == other.tag
46
- return false unless @tag_key == other.tag_key
40
+ return false unless @role == other.role
47
41
  return false unless @thumb == other.thumb
48
42
  true
49
43
  end
@@ -0,0 +1,41 @@
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 Models
9
+ module Operations
10
+
11
+
12
+ class GetLibraryItemsSimilar
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The filter string for similar items.
17
+ field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
18
+ # The unique similar item identifier.
19
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
+ # The tag or title of the similar content.
21
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
+
23
+
24
+ sig { params(filter: ::String, id: ::Integer, tag: ::String).void }
25
+ def initialize(filter: nil, id: nil, tag: nil)
26
+ @filter = filter
27
+ @id = id
28
+ @tag = tag
29
+ end
30
+
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @filter == other.filter
34
+ return false unless @id == other.id
35
+ return false unless @tag == other.tag
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -8,52 +8,20 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
-
12
- class GetLibraryItemsType
13
- extend T::Sig
14
- include Crystalline::MetadataFields
15
-
16
-
17
- field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
18
-
19
- field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
20
-
21
- field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
22
-
23
- field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
24
-
25
- field :field, T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } }
26
-
27
- field :filter, T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } }
28
-
29
- field :sort, T.nilable(T::Array[Models::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
30
-
31
- field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
32
-
33
-
34
- sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibraryItemsSort]), subtype: T.nilable(::String)).void }
35
- def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
36
- @active = active
37
- @key = key
38
- @title = title
39
- @type = type
40
- @field = field
41
- @filter = filter
42
- @sort = sort
43
- @subtype = subtype
44
- end
45
-
46
- def ==(other)
47
- return false unless other.is_a? self.class
48
- return false unless @active == other.active
49
- return false unless @key == other.key
50
- return false unless @title == other.title
51
- return false unless @type == other.type
52
- return false unless @field == other.field
53
- return false unless @filter == other.filter
54
- return false unless @sort == other.sort
55
- return false unless @subtype == other.subtype
56
- true
11
+ # GetLibraryItemsType - The type of media content in the Plex library. This can represent videos, music, or photos.
12
+ #
13
+ class GetLibraryItemsType < T::Enum
14
+ enums do
15
+ MOVIE = new('movie')
16
+ TV_SHOW = new('show')
17
+ SEASON = new('season')
18
+ EPISODE = new('episode')
19
+ ARTIST = new('artist')
20
+ ALBUM = new('album')
21
+ TRACK = new('track')
22
+ PHOTO_ALBUM = new('photoalbum')
23
+ PHOTO = new('photo')
24
+ COLLECTION = new('collection')
57
25
  end
58
26
  end
59
27
  end
@@ -13,18 +13,26 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # Unique identifier for the writer.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The role of Writer
19
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
+ # The absolute URL of the thumbnail image for the writer.
21
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
16
22
 
17
- field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
18
23
 
19
-
20
- sig { params(tag: T.nilable(::String)).void }
21
- def initialize(tag: nil)
24
+ sig { params(id: ::Integer, tag: ::String, thumb: T.nilable(::String)).void }
25
+ def initialize(id: nil, tag: nil, thumb: nil)
26
+ @id = id
22
27
  @tag = tag
28
+ @thumb = thumb
23
29
  end
24
30
 
25
31
  def ==(other)
26
32
  return false unless other.is_a? self.class
33
+ return false unless @id == other.id
27
34
  return false unless @tag == other.tag
35
+ return false unless @thumb == other.thumb
28
36
  true
29
37
  end
30
38
  end
@@ -8,9 +8,9 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetAllMediaLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`.
11
+ # GetLibrarySectionsAllActiveDirection - The direction of the sort. Can be either `asc` or `desc`.
12
12
  #
13
- class GetAllMediaLibraryActiveDirection < T::Enum
13
+ class GetLibrarySectionsAllActiveDirection < T::Enum
14
14
  enums do
15
15
  ASCENDING = new('asc')
16
16
  DESCENDING = new('desc')
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryCollection
12
+ class GetLibrarySectionsAllCollection
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryCountry
12
+ class GetLibrarySectionsAllCountry
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -8,9 +8,9 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetLibraryItemsLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`.
11
+ # GetLibrarySectionsAllDefaultDirection - The direction of the sort. Can be either `asc` or `desc`.
12
12
  #
13
- class GetLibraryItemsLibraryActiveDirection < T::Enum
13
+ class GetLibrarySectionsAllDefaultDirection < T::Enum
14
14
  enums do
15
15
  ASCENDING = new('asc')
16
16
  DESCENDING = new('desc')
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryDirector
12
+ class GetLibrarySectionsAllDirector
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryField
12
+ class GetLibrarySectionsAllField
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -9,17 +9,17 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetLibraryItemsLibraryFieldType
12
+ class GetLibrarySectionsAllFieldType
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :operator, T::Array[Models::Operations::GetLibraryItemsLibraryOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } }
17
+ field :operator, T::Array[Models::Operations::GetLibrarySectionsAllOperator], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Operator') } }
18
18
 
19
19
  field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
20
20
 
21
21
 
22
- sig { params(operator: T::Array[Models::Operations::GetLibraryItemsLibraryOperator], type: ::String).void }
22
+ sig { params(operator: T::Array[Models::Operations::GetLibrarySectionsAllOperator], type: ::String).void }
23
23
  def initialize(operator: nil, type: nil)
24
24
  @operator = operator
25
25
  @type = type
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryFilter
12
+ class GetLibrarySectionsAllFilter
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryGenre
12
+ class GetLibrarySectionsAllGenre
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -9,12 +9,11 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetSearchAllLibrariesMediaGuid
12
+ class GetLibrarySectionsAllGuids
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # Can be one of the following formats:
17
- # imdb://tt13015952, tmdb://2434012, tvdb://7945991
16
+ # The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
18
17
  #
19
18
  field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
19
 
@@ -8,8 +8,8 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetAllMediaLibraryHasThumbnail - Indicates if the part has a thumbnail.
12
- class GetAllMediaLibraryHasThumbnail < T::Enum
11
+ # GetLibrarySectionsAllHasThumbnail - Indicates if the part has a thumbnail.
12
+ class GetLibrarySectionsAllHasThumbnail < T::Enum
13
13
  enums do
14
14
  FALSE = new('0')
15
15
  TRUE = new('1')
@@ -9,19 +9,19 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryImage
12
+ class GetLibrarySectionsAllImage
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
17
  field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
18
18
 
19
- field :type, Models::Operations::GetAllMediaLibraryLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryLibraryResponseType, false) } }
19
+ field :type, Models::Operations::GetLibrarySectionsAllLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibrarySectionsAllLibraryResponseType, false) } }
20
20
 
21
21
  field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
22
22
 
23
23
 
24
- sig { params(alt: ::String, type: Models::Operations::GetAllMediaLibraryLibraryResponseType, url: ::String).void }
24
+ sig { params(alt: ::String, type: Models::Operations::GetLibrarySectionsAllLibraryResponseType, url: ::String).void }
25
25
  def initialize(alt: nil, type: nil, url: nil)
26
26
  @alt = alt
27
27
  @type = type
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
  # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
12
- class GetAllMediaLibraryLibraryOptimizedForStreaming
12
+ class GetLibrarySectionsAllLibraryOptimizedForStreaming
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryLibraryResponseType < T::Enum
12
+ class GetLibrarySectionsAllLibraryResponseType < T::Enum
13
13
  enums do
14
14
  COVER_POSTER = new('coverPoster')
15
15
  BACKGROUND = new('background')
@@ -8,9 +8,9 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetAllMediaLibraryLibraryType - The type of media content
11
+ # GetLibrarySectionsAllLibraryType - The type of media content in the Plex library. This can represent videos, music, or photos.
12
12
  #
13
- class GetAllMediaLibraryLibraryType < T::Enum
13
+ class GetLibrarySectionsAllLibraryType < T::Enum
14
14
  enums do
15
15
  MOVIE = new('movie')
16
16
  TV_SHOW = new('show')
@@ -18,6 +18,10 @@ module PlexRubySDK
18
18
  EPISODE = new('episode')
19
19
  ARTIST = new('artist')
20
20
  ALBUM = new('album')
21
+ TRACK = new('track')
22
+ PHOTO_ALBUM = new('photoalbum')
23
+ PHOTO = new('photo')
24
+ COLLECTION = new('collection')
21
25
  end
22
26
  end
23
27
  end
@@ -9,7 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryMedia
12
+ class GetLibrarySectionsAllMedia
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -38,9 +38,9 @@ module PlexRubySDK
38
38
  # Video height in pixels.
39
39
  field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
40
40
  # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
41
- field :optimized_for_streaming, T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
41
+ field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
42
42
  # An array of parts for this media item.
43
- field :part, T.nilable(T::Array[Models::Operations::GetAllMediaLibraryPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
43
+ field :part, T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
44
44
  # Video codec used.
45
45
  field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
46
46
  # Frame rate of the video. Values found include NTSC, PAL, 24p
@@ -54,7 +54,7 @@ module PlexRubySDK
54
54
  field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
55
55
 
56
56
 
57
- sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetAllMediaLibraryPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
57
+ sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetLibrarySectionsAllOptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetLibrarySectionsAllPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
58
58
  def initialize(id: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
59
59
  @id = id
60
60
  @aspect_ratio = aspect_ratio