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,8 +13,8 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # the id of the library item to return the children of.
17
- field :rating_key, ::Integer, { 'path_param': { 'field_name': 'ratingKey', 'style': 'simple', 'explode': false } }
16
+ # The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs.
17
+ field :rating_key, ::String, { 'path_param': { 'field_name': 'ratingKey', 'style': 'simple', 'explode': false } }
18
18
  # Trigger asynchronous metadata augmentation.
19
19
  field :async_augment_metadata, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncAugmentMetadata', 'style': 'form', 'explode': true } }
20
20
  # Trigger asynchronous file checking.
@@ -43,7 +43,7 @@ module PlexRubySDK
43
43
  field :include_stations, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeStations', 'style': 'form', 'explode': true } }
44
44
 
45
45
 
46
- sig { params(rating_key: ::Integer, async_augment_metadata: T.nilable(T::Boolean), async_check_files: T.nilable(T::Boolean), async_refresh_analysis: T.nilable(T::Boolean), async_refresh_local_media_agent: T.nilable(T::Boolean), include_chapters: T.nilable(T::Boolean), include_concerts: T.nilable(T::Boolean), include_external_media: T.nilable(T::Boolean), include_extras: T.nilable(T::Boolean), include_on_deck: T.nilable(T::Boolean), include_popular_leaves: T.nilable(T::Boolean), include_preferences: T.nilable(T::Boolean), include_reviews: T.nilable(T::Boolean), include_stations: T.nilable(T::Boolean)).void }
46
+ sig { params(rating_key: ::String, async_augment_metadata: T.nilable(T::Boolean), async_check_files: T.nilable(T::Boolean), async_refresh_analysis: T.nilable(T::Boolean), async_refresh_local_media_agent: T.nilable(T::Boolean), include_chapters: T.nilable(T::Boolean), include_concerts: T.nilable(T::Boolean), include_external_media: T.nilable(T::Boolean), include_extras: T.nilable(T::Boolean), include_on_deck: T.nilable(T::Boolean), include_popular_leaves: T.nilable(T::Boolean), include_preferences: T.nilable(T::Boolean), include_reviews: T.nilable(T::Boolean), include_stations: T.nilable(T::Boolean)).void }
47
47
  def initialize(rating_key: nil, async_augment_metadata: nil, async_check_files: nil, async_refresh_analysis: nil, async_refresh_local_media_agent: nil, include_chapters: nil, include_concerts: nil, include_external_media: nil, include_extras: nil, include_on_deck: nil, include_popular_leaves: nil, include_preferences: nil, include_reviews: nil, include_stations: nil)
48
48
  @rating_key = rating_key
49
49
  @async_augment_metadata = async_augment_metadata
@@ -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,20 +13,14 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # Codec used by the stream.
17
- field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
18
- # Display title for the stream.
19
- field :display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
20
- # Extended display title for the stream.
21
- field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
22
16
  # Unique stream identifier.
23
17
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
24
18
  # Stream type:
25
- # - 1 = video
26
- # - 2 = audio
27
- # - 3 = subtitle
19
+ # - VIDEO = 1
20
+ # - AUDIO = 2
21
+ # - SUBTITLE = 3
28
22
  #
29
- field :stream_type, Models::Operations::GetMediaMetaDataStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataStreamType, false) } }
23
+ field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
30
24
  # Audio channel layout.
31
25
  field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
32
26
  # Bit depth of the video stream.
@@ -43,6 +37,8 @@ module PlexRubySDK
43
37
  field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
44
38
 
45
39
  field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } }
40
+ # Codec used by the stream.
41
+ field :codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
46
42
  # Coded video height.
47
43
  field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
48
44
  # Coded video width.
@@ -57,6 +53,8 @@ module PlexRubySDK
57
53
  field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
58
54
  # Indicates if this stream is default.
59
55
  field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
56
+ # Display title for the stream.
57
+ field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
60
58
  # Dolby Vision BL compatibility ID.
61
59
  field :dovibl_compat_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLCompatID') } }
62
60
  # Indicates if Dolby Vision BL is present.
@@ -77,6 +75,8 @@ module PlexRubySDK
77
75
  field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } }
78
76
 
79
77
  field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
78
+ # Extended display title for the stream.
79
+ field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
80
80
 
81
81
  field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
82
82
  # Format of the stream (e.g., srt).
@@ -121,11 +121,8 @@ 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::GetMediaMetaDataStreamType, 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
- 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
- @codec = codec
127
- @display_title = display_title
128
- @extended_display_title = extended_display_title
124
+ sig { params(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), codec: T.nilable(::String), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), 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), extended_display_title: 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
+ def initialize(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, codec: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: nil, 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, extended_display_title: 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)
129
126
  @id = id
130
127
  @stream_type = stream_type
131
128
  @audio_channel_layout = audio_channel_layout
@@ -136,6 +133,7 @@ module PlexRubySDK
136
133
  @chroma_location = chroma_location
137
134
  @chroma_subsampling = chroma_subsampling
138
135
  @closed_captions = closed_captions
136
+ @codec = codec
139
137
  @coded_height = coded_height
140
138
  @coded_width = coded_width
141
139
  @color_primaries = color_primaries
@@ -143,6 +141,7 @@ module PlexRubySDK
143
141
  @color_space = color_space
144
142
  @color_trc = color_trc
145
143
  @default = default
144
+ @display_title = display_title
146
145
  @dovibl_compat_id = dovibl_compat_id
147
146
  @dovibl_present = dovibl_present
148
147
  @doviel_present = doviel_present
@@ -153,6 +152,7 @@ module PlexRubySDK
153
152
  @dovi_version = dovi_version
154
153
  @dub = dub
155
154
  @embedded_in_video = embedded_in_video
155
+ @extended_display_title = extended_display_title
156
156
  @forced = forced
157
157
  @format = format
158
158
  @frame_rate = frame_rate
@@ -178,9 +178,6 @@ module PlexRubySDK
178
178
 
179
179
  def ==(other)
180
180
  return false unless other.is_a? self.class
181
- return false unless @codec == other.codec
182
- return false unless @display_title == other.display_title
183
- return false unless @extended_display_title == other.extended_display_title
184
181
  return false unless @id == other.id
185
182
  return false unless @stream_type == other.stream_type
186
183
  return false unless @audio_channel_layout == other.audio_channel_layout
@@ -191,6 +188,7 @@ module PlexRubySDK
191
188
  return false unless @chroma_location == other.chroma_location
192
189
  return false unless @chroma_subsampling == other.chroma_subsampling
193
190
  return false unless @closed_captions == other.closed_captions
191
+ return false unless @codec == other.codec
194
192
  return false unless @coded_height == other.coded_height
195
193
  return false unless @coded_width == other.coded_width
196
194
  return false unless @color_primaries == other.color_primaries
@@ -198,6 +196,7 @@ module PlexRubySDK
198
196
  return false unless @color_space == other.color_space
199
197
  return false unless @color_trc == other.color_trc
200
198
  return false unless @default == other.default
199
+ return false unless @display_title == other.display_title
201
200
  return false unless @dovibl_compat_id == other.dovibl_compat_id
202
201
  return false unless @dovibl_present == other.dovibl_present
203
202
  return false unless @doviel_present == other.doviel_present
@@ -208,6 +207,7 @@ module PlexRubySDK
208
207
  return false unless @dovi_version == other.dovi_version
209
208
  return false unless @dub == other.dub
210
209
  return false unless @embedded_in_video == other.embedded_in_video
210
+ return false unless @extended_display_title == other.extended_display_title
211
211
  return false unless @forced == other.forced
212
212
  return false unless @format == other.format
213
213
  return false unless @frame_rate == other.frame_rate
@@ -8,7 +8,7 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetMediaMetaDataType - The type of media content
11
+ # GetMediaMetaDataType - The type of media content in the Plex library. This can represent videos, music, or photos.
12
12
  #
13
13
  class GetMediaMetaDataType < 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
@@ -19,9 +19,9 @@ 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 URL of the thumbnail image for the writer.
24
+ # The absolute URL of the thumbnail image for the writer.
25
25
  field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
26
26
 
27
27
 
@@ -8,7 +8,7 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetRecentlyAddedHubsType - The type of media content
11
+ # GetRecentlyAddedHubsType - The type of media content in the Plex library. This can represent videos, music, or photos.
12
12
  #
13
13
  class GetRecentlyAddedHubsType < 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
@@ -30,14 +30,6 @@ module PlexRubySDK
30
30
  field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
31
31
  # The unique key for the media item.
32
32
  field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
33
- # The identifier for the library section.
34
- field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
35
- # The key corresponding to the library section.
36
- field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
37
- # The title of the library section.
38
- field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
39
- # The original release date of the media item.
40
- field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
41
33
  # The studio of the parent media item.
42
34
  field :parent_studio, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } }
43
35
  # The theme URL for the parent media item.
@@ -108,10 +100,18 @@ module PlexRubySDK
108
100
  field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
109
101
  # The number of leaf items (end nodes) under this media item.
110
102
  field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
103
+ # The identifier for the library section.
104
+ field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
105
+ # The key corresponding to the library section.
106
+ field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
107
+ # The title of the library section.
108
+ field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
111
109
 
112
110
  field :location, T.nilable(T::Array[Models::Operations::Location]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
113
111
 
114
112
  field :media, T.nilable(T::Array[Models::Operations::Media]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
113
+ # The original release date of the media item.
114
+ field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
115
115
  # The original title of the media item (if different).
116
116
  field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
117
117
  # The GUID of the parent media item.
@@ -166,8 +166,8 @@ module PlexRubySDK
166
166
  field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
167
167
 
168
168
 
169
- sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, parent_studio: ::String, parent_theme: ::String, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: Models::Operations::GetRecentlyAddedHubsType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::Country]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::Director]), genre: T.nilable(T::Array[Models::Operations::Genre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::Guids]), image: T.nilable(T::Array[Models::Operations::GetRecentlyAddedImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::Location]), media: T.nilable(T::Array[Models::Operations::Media]), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::Producer]), rating1: T.nilable(T::Array[Models::Operations::Rating]), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::Role]), similar: T.nilable(T::Array[Models::Operations::Similar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::Writer]), year: T.nilable(::Integer)).void }
170
- def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, parent_studio: nil, parent_theme: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter_source: nil, collection: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: nil, location: nil, media: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, producer: nil, rating1: nil, rating_image: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
169
+ sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, parent_studio: ::String, parent_theme: ::String, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: Models::Operations::GetRecentlyAddedHubsType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::Country]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::Director]), genre: T.nilable(T::Array[Models::Operations::Genre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::Guids]), image: T.nilable(T::Array[Models::Operations::GetRecentlyAddedImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[Models::Operations::Location]), media: T.nilable(T::Array[Models::Operations::Media]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_slug: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::Producer]), rating1: T.nilable(T::Array[Models::Operations::Rating]), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::Role]), similar: T.nilable(T::Array[Models::Operations::Similar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::Writer]), year: T.nilable(::Integer)).void }
170
+ def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, parent_studio: nil, parent_theme: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter_source: nil, collection: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, producer: nil, rating1: nil, rating_image: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
171
171
  @added_at = added_at
172
172
  @art = art
173
173
  @audience_rating = audience_rating
@@ -176,10 +176,6 @@ module PlexRubySDK
176
176
  @guid = guid
177
177
  @index = index
178
178
  @key = key
179
- @library_section_id = library_section_id
180
- @library_section_key = library_section_key
181
- @library_section_title = library_section_title
182
- @originally_available_at = originally_available_at
183
179
  @parent_studio = parent_studio
184
180
  @parent_theme = parent_theme
185
181
  @rating = rating
@@ -215,8 +211,12 @@ module PlexRubySDK
215
211
  @last_rated_at = last_rated_at
216
212
  @last_viewed_at = last_viewed_at
217
213
  @leaf_count = leaf_count
214
+ @library_section_id = library_section_id
215
+ @library_section_key = library_section_key
216
+ @library_section_title = library_section_title
218
217
  @location = location
219
218
  @media = media
219
+ @originally_available_at = originally_available_at
220
220
  @original_title = original_title
221
221
  @parent_guid = parent_guid
222
222
  @parent_index = parent_index
@@ -255,10 +255,6 @@ module PlexRubySDK
255
255
  return false unless @guid == other.guid
256
256
  return false unless @index == other.index
257
257
  return false unless @key == other.key
258
- return false unless @library_section_id == other.library_section_id
259
- return false unless @library_section_key == other.library_section_key
260
- return false unless @library_section_title == other.library_section_title
261
- return false unless @originally_available_at == other.originally_available_at
262
258
  return false unless @parent_studio == other.parent_studio
263
259
  return false unless @parent_theme == other.parent_theme
264
260
  return false unless @rating == other.rating
@@ -294,8 +290,12 @@ module PlexRubySDK
294
290
  return false unless @last_rated_at == other.last_rated_at
295
291
  return false unless @last_viewed_at == other.last_viewed_at
296
292
  return false unless @leaf_count == other.leaf_count
293
+ return false unless @library_section_id == other.library_section_id
294
+ return false unless @library_section_key == other.library_section_key
295
+ return false unless @library_section_title == other.library_section_title
297
296
  return false unless @location == other.location
298
297
  return false unless @media == other.media
298
+ return false unless @originally_available_at == other.originally_available_at
299
299
  return false unless @original_title == other.original_title
300
300
  return false unless @parent_guid == other.parent_guid
301
301
  return false unless @parent_index == other.parent_index
@@ -13,17 +13,23 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # The unique identifier for the country.
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 country of origin of this media item
21
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
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).void }
25
+ def initialize(id: nil, tag: nil)
26
+ @id = id
22
27
  @tag = tag
23
28
  end
24
29
 
25
30
  def ==(other)
26
31
  return false unless other.is_a? self.class
32
+ return false unless @id == other.id
27
33
  return false unless @tag == other.tag
28
34
  true
29
35
  end
@@ -13,18 +13,26 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
+ # Unique identifier for the director.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The role of Director
19
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
20
+ # The absolute URL of the thumbnail image for the director.
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
@@ -0,0 +1,81 @@
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 GetSearchAllLibrariesDirectory
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # The unique identifier path for the search result item.
19
+ field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
20
+ # The identifier for the library section.
21
+ field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
22
+ # The key corresponding to the library section.
23
+ field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
24
+ # The title of the library section.
25
+ field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
26
+
27
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
28
+ # The type of the directory.
29
+ field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
30
+ # The number of items associated with this search result.
31
+ field :count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('count') } }
32
+ # The filter string used to query this specific item in the library.
33
+ field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
34
+
35
+ field :library_section_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionType') } }
36
+ # The unique identifier for the tag associated with this search result.
37
+ field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
38
+ # The type of tag associated with this search result (e.g., Director, Actor).
39
+ field :tag_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagType') } }
40
+ # The URL to the thumbnail image associated with this search result.
41
+ field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
42
+
43
+
44
+ sig { params(id: ::Integer, key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, tag: ::String, type: ::String, count: T.nilable(::Integer), filter: T.nilable(::String), library_section_type: T.nilable(::Integer), tag_key: T.nilable(::String), tag_type: T.nilable(::Integer), thumb: T.nilable(::String)).void }
45
+ def initialize(id: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, tag: nil, type: nil, count: nil, filter: nil, library_section_type: nil, tag_key: nil, tag_type: nil, thumb: nil)
46
+ @id = id
47
+ @key = key
48
+ @library_section_id = library_section_id
49
+ @library_section_key = library_section_key
50
+ @library_section_title = library_section_title
51
+ @tag = tag
52
+ @type = type
53
+ @count = count
54
+ @filter = filter
55
+ @library_section_type = library_section_type
56
+ @tag_key = tag_key
57
+ @tag_type = tag_type
58
+ @thumb = thumb
59
+ end
60
+
61
+ def ==(other)
62
+ return false unless other.is_a? self.class
63
+ return false unless @id == other.id
64
+ return false unless @key == other.key
65
+ return false unless @library_section_id == other.library_section_id
66
+ return false unless @library_section_key == other.library_section_key
67
+ return false unless @library_section_title == other.library_section_title
68
+ return false unless @tag == other.tag
69
+ return false unless @type == other.type
70
+ return false unless @count == other.count
71
+ return false unless @filter == other.filter
72
+ return false unless @library_section_type == other.library_section_type
73
+ return false unless @tag_key == other.tag_key
74
+ return false unless @tag_type == other.tag_type
75
+ return false unless @thumb == other.thumb
76
+ true
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -9,6 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
  # GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
12
+ #
12
13
  class GetSearchAllLibrariesFlattenSeasons < T::Enum
13
14
  enums do
14
15
  LIBRARY_DEFAULT = new('-1')
@@ -13,17 +13,24 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
-
17
- field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
18
-
19
-
20
- sig { params(tag: T.nilable(::String)).void }
21
- def initialize(tag: nil)
16
+ # The unique identifier for the genre.
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 genre name of this media-item
21
+ #
22
+ field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
23
+
24
+
25
+ sig { params(id: ::Integer, tag: ::String).void }
26
+ def initialize(id: nil, tag: nil)
27
+ @id = id
22
28
  @tag = tag
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
28
35
  true
29
36
  end
@@ -9,16 +9,16 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetAllMediaLibraryGuids
12
+ class GetSearchAllLibrariesGuids
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
@@ -8,7 +8,8 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
-
11
+ # GetSearchAllLibrariesHasThumbnail - Indicates if the part has a thumbnail.
12
+ #
12
13
  class GetSearchAllLibrariesHasThumbnail < T::Enum
13
14
  enums do
14
15
  FALSE = new('0')
@@ -0,0 +1,29 @@
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
+ # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
12
+ #
13
+ class GetSearchAllLibrariesLibraryOptimizedForStreaming
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+
18
+
19
+
20
+ def initialize; end
21
+
22
+ def ==(other)
23
+ return false unless other.is_a? self.class
24
+ true
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -8,16 +8,16 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
-
11
+ # The folder path for the media item.
12
12
  class GetSearchAllLibrariesLocation
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
17
+ field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
18
18
 
19
19
 
20
- sig { params(path: T.nilable(::String)).void }
20
+ sig { params(path: ::String).void }
21
21
  def initialize(path: nil)
22
22
  @path = path
23
23
  end