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.
- checksums.yaml +4 -4
- data/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +10 -4
- data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +2 -6
- data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +13 -6
- data/lib/plex_ruby_sdk/models/operations/{mediaguid.rb → get_library_items_guids.rb} +2 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_collection.rb → get_library_items_library_optimizedforstreaming.rb} +5 -9
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +6 -41
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +42 -14
- data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +32 -25
- data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +39 -48
- data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +146 -141
- data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_response_200_type.rb → get_library_items_optimizedforstreaming_1.rb} +3 -5
- data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +36 -28
- data/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +12 -18
- data/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb +41 -0
- data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +14 -46
- data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb +10 -10
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → get_library_sections_all_optimizedforstreaming_library_1.rb} +4 -9
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb +5 -5
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb +37 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb +33 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +10 -10
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +22 -22
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +16 -15
- data/lib/plex_ruby_sdk/models/operations/{metadatarating.rb → get_media_meta_data_ratings.rb} +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +18 -18
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +18 -18
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +10 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb +81 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +13 -6
- data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_mediaguid.rb → get_search_all_libraries_guids.rb} +2 -3
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb +29 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +32 -25
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +32 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +128 -147
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb +20 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb +20 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +36 -28
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +12 -18
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +6 -5
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/searchresult.rb +10 -6
- data/lib/plex_ruby_sdk/models/operations/showordering.rb +6 -5
- data/lib/plex_ruby_sdk/models/operations/stream.rb +5 -5
- data/lib/plex_ruby_sdk/models/operations.rb +18 -24
- data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
- metadata +18 -24
- data/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +0 -20
- data/lib/plex_ruby_sdk/models/operations/episodesort.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +0 -45
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb +0 -37
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +0 -49
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +0 -37
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb +0 -63
- data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb +0 -25
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +0 -25
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +0 -20
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +0 -41
- 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,
|
170
|
-
def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: 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
|
-
|
21
|
-
|
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
|
-
|
21
|
-
|
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
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
12
|
+
class GetSearchAllLibrariesGuids
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
# Can be
|
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
|
|
data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb
ADDED
@@ -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,
|
17
|
+
field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
|
18
18
|
|
19
19
|
|
20
|
-
sig { params(path:
|
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 :
|
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(
|
55
|
-
def initialize(
|
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
|
-
|
23
|
-
|
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
|