plex_ruby_sdk 0.10.0 → 0.12.1
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/library.rb +2 -2
- data/lib/plex_ruby_sdk/log.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/attributes.rb +37 -0
- data/lib/plex_ruby_sdk/models/operations/chapter.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/extras.rb +33 -0
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +20 -8
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb +25 -0
- data/lib/plex_ruby_sdk/models/operations/get_library_details_request.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +9 -9
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +8 -12
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +5 -4
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb +5 -5
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb +22 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +144 -95
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +11 -11
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +20 -8
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +25 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb +25 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb +4 -4
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +8 -12
- data/lib/plex_ruby_sdk/models/operations/includedetails.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/level.rb +5 -5
- data/lib/plex_ruby_sdk/models/operations/logline_request.rb +5 -5
- data/lib/plex_ruby_sdk/models/operations/marker.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/queryparam_force.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/stream.rb +20 -8
- data/lib/plex_ruby_sdk/models/operations/streamtype.rb +25 -0
- data/lib/plex_ruby_sdk/models/operations/uploadplaylist_request.rb +8 -8
- data/lib/plex_ruby_sdk/models/operations.rb +9 -0
- data/lib/plex_ruby_sdk/playlists.rb +2 -2
- data/lib/plex_ruby_sdk/sdkconfiguration.rb +2 -2
- metadata +12 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97556b2066dba837c1cbfc20ab9b743e79f1ef6c4bc219c451dec89d0d689e63
|
4
|
+
data.tar.gz: 1d782c6cb9dce807852da84bc0c8207d62c3e98599be188b8f5650de19c0a039
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1b5b7b4e5e677220bd335ffc777052f54a608f2e93447b9916fc97c04e7c2ff6bdb0243739320b5ec8dc85b0dd939cbe71f7044bfb8a39653b8af2f683b2b04
|
7
|
+
data.tar.gz: 83915e6719cf5c9482c14c055173d744b869fc2207a81b98d9f14287ebe42de9ebe3e0caea9bdc51cbe970258fcabbf1d90b5447a4a5d382ef717fb4183a8223
|
@@ -420,14 +420,14 @@ module PlexRubySDK
|
|
420
420
|
# get_library_details - Get Library Details
|
421
421
|
# ## Library Details Endpoint
|
422
422
|
#
|
423
|
-
# This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
|
423
|
+
# This endpoint provides comprehensive details about the library, focusing on organizational aspects rather than the content itself.
|
424
424
|
#
|
425
425
|
# The details include:
|
426
426
|
#
|
427
427
|
# ### Directories
|
428
428
|
# Organized into three categories:
|
429
429
|
#
|
430
|
-
# - **Primary Directories**:
|
430
|
+
# - **Primary Directories**:
|
431
431
|
# - Used in some clients for quick access to media subsets (e.g., "All", "On Deck").
|
432
432
|
# - Most can be replicated via media queries.
|
433
433
|
# - Customizable by users.
|
data/lib/plex_ruby_sdk/log.rb
CHANGED
@@ -155,13 +155,13 @@ module PlexRubySDK
|
|
155
155
|
sig { params(request: ::String, timeout_ms: T.nilable(Integer)).returns(Models::Operations::LogMultiLineResponse) }
|
156
156
|
def log_multi_line(request, timeout_ms = nil)
|
157
157
|
# log_multi_line - Logging a multi-line message
|
158
|
-
# This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
|
159
|
-
# It accepts a text/plain request body, where each line represents a distinct log entry.
|
160
|
-
# Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
|
158
|
+
# This endpoint allows for the batch addition of log entries to the main Plex Media Server log.
|
159
|
+
# It accepts a text/plain request body, where each line represents a distinct log entry.
|
160
|
+
# Each log entry consists of URL-encoded key-value pairs, specifying log attributes such as 'level', 'message', and 'source'.
|
161
161
|
#
|
162
|
-
# Log entries are separated by a newline character (`\n`).
|
163
|
-
# Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
|
164
|
-
# This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
|
162
|
+
# Log entries are separated by a newline character (`\n`).
|
163
|
+
# Each entry's parameters should be URL-encoded to ensure accurate parsing and handling of special characters.
|
164
|
+
# This method is efficient for logging multiple entries in a single API call, reducing the overhead of multiple individual requests.
|
165
165
|
#
|
166
166
|
# The 'level' parameter specifies the log entry's severity or importance, with the following integer values:
|
167
167
|
# - `0`: Error - Critical issues that require immediate attention.
|
@@ -0,0 +1,37 @@
|
|
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
|
+
# Attributes associated with the marker.
|
12
|
+
class Attributes
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# The identifier for the attributes.
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The version number of the marker attributes.
|
19
|
+
field :version, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('version') } }
|
20
|
+
|
21
|
+
|
22
|
+
sig { params(id: ::Integer, version: T.nilable(::Integer)).void }
|
23
|
+
def initialize(id: nil, version: nil)
|
24
|
+
@id = id
|
25
|
+
@version = version
|
26
|
+
end
|
27
|
+
|
28
|
+
def ==(other)
|
29
|
+
return false unless other.is_a? self.class
|
30
|
+
return false unless @id == other.id
|
31
|
+
return false unless @version == other.version
|
32
|
+
true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module PlexRubySDK
|
8
|
+
module Models
|
9
|
+
module Operations
|
10
|
+
|
11
|
+
# The thumbnail for the chapter
|
12
|
+
class Chapter
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
|
17
|
+
field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } }
|
18
|
+
|
19
|
+
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
20
|
+
|
21
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
22
|
+
|
23
|
+
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
|
24
|
+
|
25
|
+
field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } }
|
26
|
+
|
27
|
+
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
28
|
+
|
29
|
+
|
30
|
+
sig { params(end_time_offset: ::Integer, filter: ::String, id: ::Integer, index: ::Integer, start_time_offset: ::Integer, thumb: ::String).void }
|
31
|
+
def initialize(end_time_offset: nil, filter: nil, id: nil, index: nil, start_time_offset: nil, thumb: nil)
|
32
|
+
@end_time_offset = end_time_offset
|
33
|
+
@filter = filter
|
34
|
+
@id = id
|
35
|
+
@index = index
|
36
|
+
@start_time_offset = start_time_offset
|
37
|
+
@thumb = thumb
|
38
|
+
end
|
39
|
+
|
40
|
+
def ==(other)
|
41
|
+
return false unless other.is_a? self.class
|
42
|
+
return false unless @end_time_offset == other.end_time_offset
|
43
|
+
return false unless @filter == other.filter
|
44
|
+
return false unless @id == other.id
|
45
|
+
return false unless @index == other.index
|
46
|
+
return false unless @start_time_offset == other.start_time_offset
|
47
|
+
return false unless @thumb == other.thumb
|
48
|
+
true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,33 @@
|
|
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 Extras
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
# The size of the extras.
|
17
|
+
field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
|
18
|
+
|
19
|
+
|
20
|
+
sig { params(size: T.nilable(::Integer)).void }
|
21
|
+
def initialize(size: nil)
|
22
|
+
@size = size
|
23
|
+
end
|
24
|
+
|
25
|
+
def ==(other)
|
26
|
+
return false unless other.is_a? self.class
|
27
|
+
return false unless @size == other.size
|
28
|
+
true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -21,10 +21,12 @@ module PlexRubySDK
|
|
21
21
|
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
|
22
22
|
# Unique stream identifier.
|
23
23
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
24
|
-
#
|
25
|
-
|
26
|
-
#
|
27
|
-
|
24
|
+
# Stream type:
|
25
|
+
# - 1 = video
|
26
|
+
# - 2 = audio
|
27
|
+
# - 3 = subtitle
|
28
|
+
#
|
29
|
+
field :stream_type, Models::Operations::GetAllMediaLibraryStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryStreamType, false) } }
|
28
30
|
# Audio channel layout.
|
29
31
|
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
|
30
32
|
# Bit depth of the video stream.
|
@@ -77,6 +79,8 @@ module PlexRubySDK
|
|
77
79
|
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
|
78
80
|
|
79
81
|
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
|
82
|
+
# Format of the stream (e.g., srt).
|
83
|
+
field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } }
|
80
84
|
# Frame rate of the stream.
|
81
85
|
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
|
82
86
|
|
@@ -87,6 +91,10 @@ module PlexRubySDK
|
|
87
91
|
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
|
88
92
|
# Height of the video stream.
|
89
93
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
94
|
+
# Index of the stream.
|
95
|
+
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
|
96
|
+
# Key to access this stream part.
|
97
|
+
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
|
90
98
|
# Language of the stream.
|
91
99
|
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
|
92
100
|
# ISO language code.
|
@@ -113,13 +121,12 @@ module PlexRubySDK
|
|
113
121
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
114
122
|
|
115
123
|
|
116
|
-
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer,
|
117
|
-
def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil,
|
124
|
+
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::GetAllMediaLibraryStreamType, 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)
|
118
126
|
@codec = codec
|
119
127
|
@display_title = display_title
|
120
128
|
@extended_display_title = extended_display_title
|
121
129
|
@id = id
|
122
|
-
@index = index
|
123
130
|
@stream_type = stream_type
|
124
131
|
@audio_channel_layout = audio_channel_layout
|
125
132
|
@bit_depth = bit_depth
|
@@ -147,11 +154,14 @@ module PlexRubySDK
|
|
147
154
|
@dub = dub
|
148
155
|
@embedded_in_video = embedded_in_video
|
149
156
|
@forced = forced
|
157
|
+
@format = format
|
150
158
|
@frame_rate = frame_rate
|
151
159
|
@has_scaling_matrix = has_scaling_matrix
|
152
160
|
@header_compression = header_compression
|
153
161
|
@hearing_impaired = hearing_impaired
|
154
162
|
@height = height
|
163
|
+
@index = index
|
164
|
+
@key = key
|
155
165
|
@language = language
|
156
166
|
@language_code = language_code
|
157
167
|
@language_tag = language_tag
|
@@ -172,7 +182,6 @@ module PlexRubySDK
|
|
172
182
|
return false unless @display_title == other.display_title
|
173
183
|
return false unless @extended_display_title == other.extended_display_title
|
174
184
|
return false unless @id == other.id
|
175
|
-
return false unless @index == other.index
|
176
185
|
return false unless @stream_type == other.stream_type
|
177
186
|
return false unless @audio_channel_layout == other.audio_channel_layout
|
178
187
|
return false unless @bit_depth == other.bit_depth
|
@@ -200,11 +209,14 @@ module PlexRubySDK
|
|
200
209
|
return false unless @dub == other.dub
|
201
210
|
return false unless @embedded_in_video == other.embedded_in_video
|
202
211
|
return false unless @forced == other.forced
|
212
|
+
return false unless @format == other.format
|
203
213
|
return false unless @frame_rate == other.frame_rate
|
204
214
|
return false unless @has_scaling_matrix == other.has_scaling_matrix
|
205
215
|
return false unless @header_compression == other.header_compression
|
206
216
|
return false unless @hearing_impaired == other.hearing_impaired
|
207
217
|
return false unless @height == other.height
|
218
|
+
return false unless @index == other.index
|
219
|
+
return false unless @key == other.key
|
208
220
|
return false unless @language == other.language
|
209
221
|
return false unless @language_code == other.language_code
|
210
222
|
return false unless @language_tag == other.language_tag
|
@@ -0,0 +1,25 @@
|
|
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
|
+
# GetAllMediaLibraryStreamType - Stream type:
|
12
|
+
# - 1 = video
|
13
|
+
# - 2 = audio
|
14
|
+
# - 3 = subtitle
|
15
|
+
#
|
16
|
+
class GetAllMediaLibraryStreamType < T::Enum
|
17
|
+
enums do
|
18
|
+
VIDEO = new(1)
|
19
|
+
AUDIO = new(2)
|
20
|
+
SUBTITLE = new(3)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -17,7 +17,7 @@ module PlexRubySDK
|
|
17
17
|
# Note: This is unique in the context of the Plex server.
|
18
18
|
#
|
19
19
|
field :section_key, ::Integer, { 'path_param': { 'field_name': 'sectionKey', 'style': 'simple', 'explode': false } }
|
20
|
-
# Whether or not to include details for a section (types, filters, and sorts).
|
20
|
+
# Whether or not to include details for a section (types, filters, and sorts).
|
21
21
|
# Only exists for backwards compatibility, media providers other than the server libraries have it on always.
|
22
22
|
#
|
23
23
|
field :include_details, T.nilable(Models::Operations::IncludeDetails), { 'query_param': { 'field_name': 'includeDetails', 'style': 'form', 'explode': true } }
|
@@ -8,31 +8,31 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
|
11
|
+
# The filter query string for country media items.
|
12
12
|
class GetMediaMetaDataCountry
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
|
17
|
-
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
18
|
-
# The unique country identifier.
|
16
|
+
|
19
17
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
|
-
# The country
|
18
|
+
# The country of origin of this media item
|
21
19
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
22
20
|
|
21
|
+
field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
23
22
|
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
|
24
|
+
sig { params(id: ::Integer, tag: ::String, filter: T.nilable(::String)).void }
|
25
|
+
def initialize(id: nil, tag: nil, filter: nil)
|
27
26
|
@id = id
|
28
27
|
@tag = tag
|
28
|
+
@filter = filter
|
29
29
|
end
|
30
30
|
|
31
31
|
def ==(other)
|
32
32
|
return false unless other.is_a? self.class
|
33
|
-
return false unless @filter == other.filter
|
34
33
|
return false unless @id == other.id
|
35
34
|
return false unless @tag == other.tag
|
35
|
+
return false unless @filter == other.filter
|
36
36
|
true
|
37
37
|
end
|
38
38
|
end
|
@@ -13,27 +13,24 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
# The filter string
|
16
|
+
# The filter string used to query this director.
|
17
17
|
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
18
|
-
#
|
18
|
+
# Unique identifier for the director.
|
19
19
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
|
-
# The
|
20
|
+
# The role of Director
|
21
21
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
22
|
-
# A key associated with the
|
23
|
-
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
24
|
-
# The
|
25
|
-
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
|
26
|
-
# URL for the role thumbnail image.
|
22
|
+
# A unique key associated with the director's tag, used for internal identification.
|
23
|
+
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
24
|
+
# The URL of the thumbnail image for the director.
|
27
25
|
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
28
26
|
|
29
27
|
|
30
|
-
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key:
|
31
|
-
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil,
|
28
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
|
29
|
+
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
|
32
30
|
@filter = filter
|
33
31
|
@id = id
|
34
32
|
@tag = tag
|
35
33
|
@tag_key = tag_key
|
36
|
-
@role = role
|
37
34
|
@thumb = thumb
|
38
35
|
end
|
39
36
|
|
@@ -43,7 +40,6 @@ module PlexRubySDK
|
|
43
40
|
return false unless @id == other.id
|
44
41
|
return false unless @tag == other.tag
|
45
42
|
return false unless @tag_key == other.tag_key
|
46
|
-
return false unless @role == other.role
|
47
43
|
return false unless @thumb == other.thumb
|
48
44
|
true
|
49
45
|
end
|
@@ -8,16 +8,17 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
|
11
|
+
# The filter query string for similar items.
|
12
12
|
class GetMediaMetaDataGenre
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
|
16
|
+
|
17
17
|
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
18
|
-
|
18
|
+
|
19
19
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
|
-
# The genre name
|
20
|
+
# The genre name of this media-item
|
21
|
+
#
|
21
22
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
22
23
|
|
23
24
|
|
@@ -13,15 +13,15 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
|
16
|
+
|
17
17
|
field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
|
18
|
-
|
19
|
-
field :type, ::
|
20
|
-
|
18
|
+
|
19
|
+
field :type, Models::Operations::GetMediaMetaDataLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataLibraryType, false) } }
|
20
|
+
|
21
21
|
field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
|
22
22
|
|
23
23
|
|
24
|
-
sig { params(alt: ::String, type: ::
|
24
|
+
sig { params(alt: ::String, type: Models::Operations::GetMediaMetaDataLibraryType, url: ::String).void }
|
25
25
|
def initialize(alt: nil, type: nil, url: nil)
|
26
26
|
@alt = alt
|
27
27
|
@type = type
|
@@ -0,0 +1,22 @@
|
|
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 GetMediaMetaDataLibraryType < T::Enum
|
13
|
+
enums do
|
14
|
+
COVER_POSTER = new('coverPoster')
|
15
|
+
BACKGROUND = new('background')
|
16
|
+
SNAPSHOT = new('snapshot')
|
17
|
+
CLEAR_LOGO = new('clearLogo')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|