plex_ruby_sdk 0.15.0 → 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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +1 -0
  3. data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
  4. data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +3 -3
  5. data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +10 -4
  6. data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +12 -4
  7. data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +2 -6
  8. data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +13 -6
  9. data/lib/plex_ruby_sdk/models/operations/{mediaguid.rb → get_library_items_guids.rb} +2 -3
  10. data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +2 -1
  11. data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
  12. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_collection.rb → get_library_items_library_optimizedforstreaming.rb} +5 -9
  13. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +6 -41
  14. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +42 -14
  15. data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +3 -3
  16. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +32 -25
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +39 -48
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +3 -3
  19. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +146 -141
  20. data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +12 -4
  21. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_response_200_type.rb → get_library_items_optimizedforstreaming_1.rb} +3 -5
  22. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +36 -28
  23. data/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb +53 -0
  24. data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +12 -18
  25. data/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb +41 -0
  26. data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +14 -46
  27. data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +12 -4
  28. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb +2 -2
  29. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb +10 -10
  30. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb +6 -6
  31. data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → get_library_sections_all_optimizedforstreaming_library_1.rb} +4 -9
  32. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb +2 -2
  33. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb +5 -5
  34. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb +37 -0
  35. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb +53 -0
  36. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb +33 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +1 -0
  38. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +1 -0
  39. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb +53 -0
  40. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +5 -3
  41. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +10 -10
  42. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +22 -22
  43. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +16 -15
  44. data/lib/plex_ruby_sdk/models/operations/{metadatarating.rb → get_media_meta_data_ratings.rb} +3 -3
  45. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +18 -18
  46. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +18 -18
  47. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +10 -4
  48. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +12 -4
  49. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb +81 -0
  50. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +1 -0
  51. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +13 -6
  52. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_mediaguid.rb → get_search_all_libraries_guids.rb} +2 -3
  53. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +2 -1
  54. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb +29 -0
  55. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +3 -3
  56. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +32 -25
  57. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +32 -4
  58. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +128 -147
  59. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +12 -4
  60. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb +20 -0
  61. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb +20 -0
  62. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +36 -28
  63. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +12 -18
  64. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +6 -5
  65. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +12 -4
  66. data/lib/plex_ruby_sdk/models/operations/searchresult.rb +10 -6
  67. data/lib/plex_ruby_sdk/models/operations/showordering.rb +6 -5
  68. data/lib/plex_ruby_sdk/models/operations/stream.rb +5 -5
  69. data/lib/plex_ruby_sdk/models/operations.rb +18 -24
  70. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  71. metadata +18 -24
  72. data/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +0 -20
  73. data/lib/plex_ruby_sdk/models/operations/episodesort.rb +0 -21
  74. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb +0 -21
  75. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +0 -21
  76. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +0 -45
  77. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb +0 -37
  78. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +0 -49
  79. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +0 -37
  80. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb +0 -63
  81. data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
  82. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb +0 -25
  83. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +0 -25
  84. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +0 -20
  85. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +0 -21
  86. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +0 -41
  87. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb +0 -181
@@ -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,12 +9,11 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
 
12
- class GetSearchAllLibrariesMediaGuid
12
+ class GetSearchAllLibrariesGuids
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # Can be one of the following formats:
17
- # imdb://tt13015952, tmdb://2434012, tvdb://7945991
16
+ # The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
18
17
  #
19
18
  field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
19
 
@@ -8,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
@@ -13,59 +13,65 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
-
17
- field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
18
-
16
+ # Unique media identifier.
19
17
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
-
21
- field :part, T::Array[Models::Operations::GetSearchAllLibrariesPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
22
-
18
+ # Aspect ratio of the video.
23
19
  field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
24
-
20
+ # Number of audio channels.
25
21
  field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
26
-
22
+ # Audio codec used.
27
23
  field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
28
-
24
+ # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
29
25
  field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
30
-
26
+ # Bitrate in bits per second.
31
27
  field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
28
+ # Container format of the media.
29
+ field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
32
30
 
31
+ field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } }
32
+ # Duration of the media in milliseconds.
33
33
  field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
34
-
34
+ # Indicates whether the media has 64-bit offsets.
35
+ # This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
36
+ #
35
37
  field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
36
-
38
+ # Indicates whether voice activity is detected.
37
39
  field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
38
-
40
+ # Video height in pixels.
39
41
  field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
42
+ # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
43
+ field :optimized_for_streaming, T.nilable(T.any(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
40
44
 
41
- field :optimized_for_streaming, T.nilable(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming, true) } }
42
-
45
+ field :part, T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
46
+ # Video codec used.
43
47
  field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
44
-
48
+ # Frame rate of the video. Values found include NTSC, PAL, 24p
49
+ #
45
50
  field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
46
-
51
+ # Video profile (e.g., main 10).
47
52
  field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
48
-
53
+ # Video resolution (e.g., 4k).
49
54
  field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
50
-
55
+ # Video width in pixels.
51
56
  field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
52
57
 
53
58
 
54
- sig { params(container: ::String, id: ::Integer, part: T::Array[Models::Operations::GetSearchAllLibrariesPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
55
- def initialize(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
56
- @container = container
59
+ sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(T.any(Models::Operations::GetSearchAllLibrariesOptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetSearchAllLibrariesPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
60
+ def initialize(id: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
57
61
  @id = id
58
- @part = part
59
62
  @aspect_ratio = aspect_ratio
60
63
  @audio_channels = audio_channels
61
64
  @audio_codec = audio_codec
62
65
  @audio_profile = audio_profile
63
66
  @bitrate = bitrate
67
+ @container = container
68
+ @display_offset = display_offset
64
69
  @duration = duration
65
70
  @has64bit_offsets = has64bit_offsets
66
71
  @has_voice_activity = has_voice_activity
67
72
  @height = height
68
73
  @optimized_for_streaming = optimized_for_streaming
74
+ @part = part
69
75
  @video_codec = video_codec
70
76
  @video_frame_rate = video_frame_rate
71
77
  @video_profile = video_profile
@@ -75,19 +81,20 @@ module PlexRubySDK
75
81
 
76
82
  def ==(other)
77
83
  return false unless other.is_a? self.class
78
- return false unless @container == other.container
79
84
  return false unless @id == other.id
80
- return false unless @part == other.part
81
85
  return false unless @aspect_ratio == other.aspect_ratio
82
86
  return false unless @audio_channels == other.audio_channels
83
87
  return false unless @audio_codec == other.audio_codec
84
88
  return false unless @audio_profile == other.audio_profile
85
89
  return false unless @bitrate == other.bitrate
90
+ return false unless @container == other.container
91
+ return false unless @display_offset == other.display_offset
86
92
  return false unless @duration == other.duration
87
93
  return false unless @has64bit_offsets == other.has64bit_offsets
88
94
  return false unless @has_voice_activity == other.has_voice_activity
89
95
  return false unless @height == other.height
90
96
  return false unless @optimized_for_streaming == other.optimized_for_streaming
97
+ return false unless @part == other.part
91
98
  return false unless @video_codec == other.video_codec
92
99
  return false unless @video_frame_rate == other.video_frame_rate
93
100
  return false unless @video_profile == other.video_profile
@@ -13,22 +13,50 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
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') } }
16
24
 
17
25
  field :search_result, T::Array[Models::Operations::SearchResult], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('SearchResult') } }
26
+ # Number of media items returned in this response.
27
+ field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
28
+ # The unique identifier for the library section.
29
+ field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
30
+ # The title of the library section.
31
+ field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
32
+ # The universally unique identifier for the library section.
33
+ field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
18
34
 
19
- field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
20
35
 
21
-
22
- sig { params(search_result: T::Array[Models::Operations::SearchResult], size: ::Float).void }
23
- def initialize(search_result: nil, size: nil)
36
+ sig { params(allow_sync: T::Boolean, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, search_result: T::Array[Models::Operations::SearchResult], size: ::Integer, library_section_id: T.nilable(::Integer), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String)).void }
37
+ def initialize(allow_sync: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, search_result: nil, size: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil)
38
+ @allow_sync = allow_sync
39
+ @identifier = identifier
40
+ @media_tag_prefix = media_tag_prefix
41
+ @media_tag_version = media_tag_version
24
42
  @search_result = search_result
25
43
  @size = size
44
+ @library_section_id = library_section_id
45
+ @library_section_title = library_section_title
46
+ @library_section_uuid = library_section_uuid
26
47
  end
27
48
 
28
49
  def ==(other)
29
50
  return false unless other.is_a? self.class
51
+ return false unless @allow_sync == other.allow_sync
52
+ return false unless @identifier == other.identifier
53
+ return false unless @media_tag_prefix == other.media_tag_prefix
54
+ return false unless @media_tag_version == other.media_tag_version
30
55
  return false unless @search_result == other.search_result
31
56
  return false unless @size == other.size
57
+ return false unless @library_section_id == other.library_section_id
58
+ return false unless @library_section_title == other.library_section_title
59
+ return false unless @library_section_uuid == other.library_section_uuid
32
60
  true
33
61
  end
34
62
  end