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::GetSearchAllLibrariesHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesHasThumbnail, 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::GetSearchAllLibrariesOptimizedForStreamingLibrary1, 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::GetSearchAllLibrariesStream]), { '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::GetSearchAllLibrariesHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesStream]), 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::GetSearchAllLibrariesHasThumbnail), indexes: T.nilable(::String), key: T.nilable(::String), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetSearchAllLibrariesOptimizedForStreamingLibrary1, 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
@@ -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
@@ -9,11 +9,12 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
  # GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show.
12
- # None = Library default,
13
- # tmdbAiring = The Movie Database (Aired),
14
- # aired = TheTVDB (Aired),
15
- # dvd = TheTVDB (DVD),
16
- # absolute = TheTVDB (Absolute)).
12
+ # Options:
13
+ # - None = Library default
14
+ # - tmdbAiring = The Movie Database (Aired)
15
+ # - aired = TheTVDB (Aired)
16
+ # - dvd = TheTVDB (DVD)
17
+ # - absolute = TheTVDB (Absolute)
17
18
  #
18
19
  class GetSearchAllLibrariesShowOrdering < T::Enum
19
20
  enums do
@@ -8,7 +8,7 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetSearchAllLibrariesType - The type of media content
11
+ # GetSearchAllLibrariesType - The type of media content in the Plex library. This can represent videos, music, or photos.
12
12
  #
13
13
  class GetSearchAllLibrariesType < T::Enum
14
14
  enums do
@@ -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
@@ -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
@@ -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
@@ -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,28 +13,28 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
-
17
- field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
18
-
19
- field :identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
20
-
21
- field :media_tag_prefix, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
22
-
23
- field :media_tag_version, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
16
+ # Indicates whether syncing is allowed.
17
+ field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
18
+ # An plugin identifier for the media container.
19
+ field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
20
+ # The prefix used for media tag resource paths.
21
+ field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
22
+ # The version number for media tags.
23
+ field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
24
+ # Number of media items returned in this response.
25
+ field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
24
26
 
25
27
  field :metadata, T.nilable(T::Array[Models::Operations::GetTopWatchedContentMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
26
28
 
27
- field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
28
-
29
29
 
30
- sig { params(allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), media_tag_prefix: T.nilable(::String), media_tag_version: T.nilable(::Integer), metadata: T.nilable(T::Array[Models::Operations::GetTopWatchedContentMetadata]), size: T.nilable(::Integer)).void }
31
- def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, size: nil)
30
+ sig { params(allow_sync: T::Boolean, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, size: ::Integer, metadata: T.nilable(T::Array[Models::Operations::GetTopWatchedContentMetadata])).void }
31
+ def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, size: nil, metadata: nil)
32
32
  @allow_sync = allow_sync
33
33
  @identifier = identifier
34
34
  @media_tag_prefix = media_tag_prefix
35
35
  @media_tag_version = media_tag_version
36
- @metadata = metadata
37
36
  @size = size
37
+ @metadata = metadata
38
38
  end
39
39
 
40
40
  def ==(other)
@@ -43,8 +43,8 @@ module PlexRubySDK
43
43
  return false unless @identifier == other.identifier
44
44
  return false unless @media_tag_prefix == other.media_tag_prefix
45
45
  return false unless @media_tag_version == other.media_tag_version
46
- return false unless @metadata == other.metadata
47
46
  return false unless @size == other.size
47
+ return false unless @metadata == other.metadata
48
48
  true
49
49
  end
50
50
  end
@@ -8,16 +8,12 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # StreamType - Stream type:
12
- # - 1 = video
13
- # - 2 = audio
14
- # - 3 = subtitle
11
+ # GetTopWatchedContentQueryParamIncludeGuids - Adds the Guid object to the response
15
12
  #
16
- class StreamType < T::Enum
13
+ class GetTopWatchedContentQueryParamIncludeGuids < T::Enum
17
14
  enums do
18
- VIDEO = new(1)
19
- AUDIO = new(2)
20
- SUBTITLE = new(3)
15
+ DISABLE = new(0)
16
+ ENABLE = new(1)
21
17
  end
22
18
  end
23
19
  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
@@ -21,12 +21,12 @@ module PlexRubySDK
21
21
  # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
22
22
  #
23
23
  field :type, Models::Operations::GetTopWatchedContentQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } }
24
- # Adds the Guids object to the response
24
+ # Adds the Guid object to the response
25
25
  #
26
- field :include_guids, T.nilable(::Integer), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } }
26
+ field :include_guids, T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } }
27
27
 
28
28
 
29
- sig { params(type: Models::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(::Integer)).void }
29
+ sig { params(type: Models::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(Models::Operations::GetTopWatchedContentQueryParamIncludeGuids)).void }
30
30
  def initialize(type: nil, include_guids: nil)
31
31
  @type = type
32
32
  @include_guids = include_guids
@@ -13,12 +13,12 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
16
+ # The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
17
17
  #
18
- field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
19
19
 
20
20
 
21
- sig { params(id: T.nilable(::String)).void }
21
+ sig { params(id: ::String).void }
22
22
  def initialize(id: nil)
23
23
  @id = id
24
24
  end
@@ -19,13 +19,14 @@ module PlexRubySDK
19
19
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
20
  # The name of the producer
21
21
  field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
- # A unique key associated with the producer's tag, used for internal identification.
23
- field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
24
- # The URL of the thumbnail image for the actor.
22
+ # A 24-character hexadecimal unique key associated with the producer's tag, used for internal identification.
23
+ #
24
+ field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
25
+ # The absolute URL of the thumbnail image for the producer.
25
26
  field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
26
27
 
27
28
 
28
- sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, thumb: T.nilable(::String)).void }
29
30
  def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
30
31
  @filter = filter
31
32
  @id = id
@@ -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,7 +13,7 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
-
16
+ # The URL for the rating image, for example from IMDb.
17
17
  field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } }
18
18
 
19
19
  field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
@@ -15,25 +15,29 @@ module PlexRubySDK
15
15
 
16
16
  # The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
17
17
  field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
18
- # Unique identifier for the actor or role.
18
+ # The unique identifier for the role.
19
+ # NOTE: This is different for each Plex server and is not globally unique.
20
+ #
19
21
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
22
  # The display tag for the actor (typically the actor's name).
21
23
  field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
24
+ # A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
25
+ # NOTE: This is globally unique across all Plex Servers.
26
+ #
27
+ field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
22
28
  # The role played by the actor in the media item.
23
29
  field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
24
- # A unique key associated with the actor's tag, used for internal identification.
25
- field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
26
- # The URL of the thumbnail image for the actor.
30
+ # The absolute URL of the thumbnail image for the actor.
27
31
  field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
28
32
 
29
33
 
30
- sig { params(filter: ::String, id: ::Integer, tag: ::String, role: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
31
- def initialize(filter: nil, id: nil, tag: nil, role: nil, tag_key: nil, thumb: nil)
34
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
35
+ def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
32
36
  @filter = filter
33
37
  @id = id
34
38
  @tag = tag
35
- @role = role
36
39
  @tag_key = tag_key
40
+ @role = role
37
41
  @thumb = thumb
38
42
  end
39
43
 
@@ -42,8 +46,8 @@ module PlexRubySDK
42
46
  return false unless @filter == other.filter
43
47
  return false unless @id == other.id
44
48
  return false unless @tag == other.tag
45
- return false unless @role == other.role
46
49
  return false unless @tag_key == other.tag_key
50
+ return false unless @role == other.role
47
51
  return false unless @thumb == other.thumb
48
52
  true
49
53
  end
@@ -13,22 +13,26 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The score of the search result, typically a float value between 0 and 1.
17
+ field :score, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('score') } }
16
18
 
17
- field :metadata, Models::Operations::GetSearchAllLibrariesMetadata, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
19
+ field :directory, T.nilable(Models::Operations::GetSearchAllLibrariesDirectory), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
18
20
 
19
- field :score, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('score') } }
21
+ field :metadata, T.nilable(Models::Operations::GetSearchAllLibrariesMetadata), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
20
22
 
21
23
 
22
- sig { params(metadata: Models::Operations::GetSearchAllLibrariesMetadata, score: ::Float).void }
23
- def initialize(metadata: nil, score: nil)
24
- @metadata = metadata
24
+ sig { params(score: ::Float, directory: T.nilable(Models::Operations::GetSearchAllLibrariesDirectory), metadata: T.nilable(Models::Operations::GetSearchAllLibrariesMetadata)).void }
25
+ def initialize(score: nil, directory: nil, metadata: nil)
25
26
  @score = score
27
+ @directory = directory
28
+ @metadata = metadata
26
29
  end
27
30
 
28
31
  def ==(other)
29
32
  return false unless other.is_a? self.class
30
- return false unless @metadata == other.metadata
31
33
  return false unless @score == other.score
34
+ return false unless @directory == other.directory
35
+ return false unless @metadata == other.metadata
32
36
  true
33
37
  end
34
38
  end
@@ -9,11 +9,12 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
  # ShowOrdering - Setting that indicates the episode ordering for the show.
12
- # None = Library default,
13
- # tmdbAiring = The Movie Database (Aired),
14
- # aired = TheTVDB (Aired),
15
- # dvd = TheTVDB (DVD),
16
- # absolute = TheTVDB (Absolute)).
12
+ # Options:
13
+ # - None = Library default
14
+ # - tmdbAiring = The Movie Database (Aired)
15
+ # - aired = TheTVDB (Aired)
16
+ # - dvd = TheTVDB (DVD)
17
+ # - absolute = TheTVDB (Absolute)
17
18
  #
18
19
  class ShowOrdering < T::Enum
19
20
  enums do
@@ -22,11 +22,11 @@ module PlexRubySDK
22
22
  # Unique stream identifier.
23
23
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
24
24
  # Stream type:
25
- # - 1 = video
26
- # - 2 = audio
27
- # - 3 = subtitle
25
+ # - VIDEO = 1
26
+ # - AUDIO = 2
27
+ # - SUBTITLE = 3
28
28
  #
29
- field :stream_type, Models::Operations::StreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::StreamType, false) } }
29
+ field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
30
30
  # Audio channel layout.
31
31
  field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
32
32
  # Bit depth of the video stream.
@@ -121,7 +121,7 @@ module PlexRubySDK
121
121
  field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
122
122
 
123
123
 
124
- sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::StreamType, 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), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void }
124
+ sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::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), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void }
125
125
  def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: 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, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, format: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, index: nil, key: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil)
126
126
  @codec = codec
127
127
  @display_title = display_title
@@ -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
@@ -19,16 +19,19 @@ module PlexRubySDK
19
19
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
20
  # The role of Writer
21
21
  field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
- # A unique key associated with the writers tag, used for internal identification.
22
+ # A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification.
23
23
  field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
24
+ # The absolute URL of the thumbnail image for the writer.
25
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
24
26
 
25
27
 
26
- sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String)).void }
27
- def initialize(filter: nil, id: nil, tag: nil, tag_key: nil)
28
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
29
+ def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
28
30
  @filter = filter
29
31
  @id = id
30
32
  @tag = tag
31
33
  @tag_key = tag_key
34
+ @thumb = thumb
32
35
  end
33
36
 
34
37
  def ==(other)
@@ -37,6 +40,7 @@ module PlexRubySDK
37
40
  return false unless @id == other.id
38
41
  return false unless @tag == other.tag
39
42
  return false unless @tag_key == other.tag_key
43
+ return false unless @thumb == other.thumb
40
44
  true
41
45
  end
42
46
  end