plex_ruby_sdk 0.7.6 → 0.7.7
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 +0 -44
- data/lib/plex_ruby_sdk/models/operations/collection.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/country.rb +10 -4
- data/lib/plex_ruby_sdk/models/operations/director.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/genre.rb +11 -4
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/{getondeck_guids.rb → get_all_media_library_guids.rb} +3 -2
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb +8 -8
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +17 -11
- data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +7 -7
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +8 -8
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_producer.rb +39 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_similar.rb +30 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +17 -11
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb +15 -15
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +119 -133
- data/lib/plex_ruby_sdk/models/operations/hasthumbnail.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/location.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/media.rb +27 -23
- data/lib/plex_ruby_sdk/models/operations/part.rb +23 -15
- data/lib/plex_ruby_sdk/models/operations/producer.rb +8 -11
- data/lib/plex_ruby_sdk/models/operations/{get_library_items_metadatarating.rb → rating.rb} +5 -5
- data/lib/plex_ruby_sdk/models/operations/role.rb +12 -12
- data/lib/plex_ruby_sdk/models/operations/similar.rb +4 -4
- data/lib/plex_ruby_sdk/models/operations/stream.rb +77 -44
- data/lib/plex_ruby_sdk/models/operations/writer.rb +15 -6
- data/lib/plex_ruby_sdk/models/operations.rb +18 -33
- data/lib/plex_ruby_sdk/sdkconfiguration.rb +2 -2
- metadata +6 -21
- data/lib/plex_ruby_sdk/models/operations/get_library_items_enablecreditsmarkergeneration.rb +0 -18
- data/lib/plex_ruby_sdk/models/operations/get_library_items_episodesort.rb +0 -19
- data/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb +0 -19
- data/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb +0 -26
- data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +0 -18
- data/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb +0 -27
- data/lib/plex_ruby_sdk/models/operations/getondeck_badrequest.rb +0 -24
- data/lib/plex_ruby_sdk/models/operations/getondeck_errors.rb +0 -30
- data/lib/plex_ruby_sdk/models/operations/getondeck_library_errors.rb +0 -30
- data/lib/plex_ruby_sdk/models/operations/getondeck_media.rb +0 -66
- data/lib/plex_ruby_sdk/models/operations/getondeck_mediacontainer.rb +0 -42
- data/lib/plex_ruby_sdk/models/operations/getondeck_metadata.rb +0 -129
- data/lib/plex_ruby_sdk/models/operations/getondeck_part.rb +0 -48
- data/lib/plex_ruby_sdk/models/operations/getondeck_response.rb +0 -39
- data/lib/plex_ruby_sdk/models/operations/getondeck_responsebody.rb +0 -24
- data/lib/plex_ruby_sdk/models/operations/getondeck_stream.rb +0 -90
- data/lib/plex_ruby_sdk/models/operations/getondeck_unauthorized.rb +0 -24
@@ -7,15 +7,15 @@
|
|
7
7
|
module PlexRubySDK
|
8
8
|
module Operations
|
9
9
|
|
10
|
-
|
10
|
+
# The folder path for the media item.
|
11
11
|
class Location < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
14
|
|
15
|
-
field :path,
|
15
|
+
field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
|
16
16
|
|
17
17
|
|
18
|
-
sig { params(path:
|
18
|
+
sig { params(path: ::String).void }
|
19
19
|
def initialize(path: nil)
|
20
20
|
@path = path
|
21
21
|
end
|
@@ -11,59 +11,63 @@ module PlexRubySDK
|
|
11
11
|
class Media < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
|
15
|
-
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
|
16
|
-
|
14
|
+
# Unique media identifier.
|
17
15
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
-
|
19
|
-
field :part, T::Array[::PlexRubySDK::Operations::Part], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
20
|
-
|
16
|
+
# Aspect ratio of the video.
|
21
17
|
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
|
22
|
-
|
18
|
+
# Number of audio channels.
|
23
19
|
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
|
24
|
-
|
20
|
+
# Audio codec used.
|
25
21
|
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
|
26
|
-
|
22
|
+
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
|
27
23
|
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
|
28
|
-
|
24
|
+
# Bitrate in bits per second.
|
29
25
|
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
|
26
|
+
# File container type.
|
27
|
+
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
|
30
28
|
|
29
|
+
field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } }
|
30
|
+
# Duration of the media in milliseconds.
|
31
31
|
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
|
32
32
|
|
33
33
|
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
|
34
|
-
|
34
|
+
# Indicates whether voice activity is detected.
|
35
35
|
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
|
36
|
-
|
36
|
+
# Video height in pixels.
|
37
37
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
38
|
-
|
39
|
-
field :optimized_for_streaming, T.nilable(::
|
40
|
-
|
38
|
+
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
39
|
+
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
|
40
|
+
# An array of parts for this media item.
|
41
|
+
field :part, T.nilable(T::Array[::PlexRubySDK::Operations::Part]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
42
|
+
# Video codec used.
|
41
43
|
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
|
42
|
-
|
44
|
+
# Frame rate of the video. Values found include NTSC, PAL, 24p
|
45
|
+
#
|
43
46
|
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
|
44
|
-
|
47
|
+
# Video profile (e.g., main 10).
|
45
48
|
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
|
46
|
-
|
49
|
+
# Video resolution (e.g., 4k).
|
47
50
|
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
|
48
|
-
|
51
|
+
# Video width in pixels.
|
49
52
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
50
53
|
|
51
54
|
|
52
|
-
sig { params(
|
53
|
-
def initialize(
|
54
|
-
@container = container
|
55
|
+
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(::Object), part: T.nilable(T::Array[::PlexRubySDK::Operations::Part]), 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 }
|
56
|
+
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)
|
55
57
|
@id = id
|
56
|
-
@part = part
|
57
58
|
@aspect_ratio = aspect_ratio
|
58
59
|
@audio_channels = audio_channels
|
59
60
|
@audio_codec = audio_codec
|
60
61
|
@audio_profile = audio_profile
|
61
62
|
@bitrate = bitrate
|
63
|
+
@container = container
|
64
|
+
@display_offset = display_offset
|
62
65
|
@duration = duration
|
63
66
|
@has64bit_offsets = has64bit_offsets
|
64
67
|
@has_voice_activity = has_voice_activity
|
65
68
|
@height = height
|
66
69
|
@optimized_for_streaming = optimized_for_streaming
|
70
|
+
@part = part
|
67
71
|
@video_codec = video_codec
|
68
72
|
@video_frame_rate = video_frame_rate
|
69
73
|
@video_profile = video_profile
|
@@ -11,48 +11,56 @@ module PlexRubySDK
|
|
11
11
|
class Part < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
#
|
15
|
-
#
|
16
|
-
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
|
17
|
-
|
14
|
+
# File path for the part.
|
18
15
|
field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
|
19
|
-
|
16
|
+
# Unique part identifier.
|
20
17
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
21
|
-
|
18
|
+
# Key to access this part.
|
22
19
|
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
|
23
|
-
|
20
|
+
# File size in bytes.
|
24
21
|
field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
|
25
|
-
|
22
|
+
# Indicates if the part is accessible.
|
23
|
+
field :accessible, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('accessible') } }
|
24
|
+
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
|
26
25
|
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
|
27
|
-
|
26
|
+
# Container format of the part.
|
27
|
+
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
|
28
|
+
# Duration of the part in milliseconds.
|
28
29
|
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
|
30
|
+
# Indicates if the part exists.
|
31
|
+
field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } }
|
29
32
|
|
30
33
|
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
|
31
34
|
|
32
35
|
field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::HasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::HasThumbnail, true) } }
|
33
36
|
|
34
37
|
field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } }
|
38
|
+
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
39
|
+
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
|
35
40
|
|
36
|
-
field :
|
37
|
-
|
41
|
+
field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } }
|
42
|
+
# An array of streams for this part.
|
38
43
|
field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
|
39
|
-
|
44
|
+
# Video profile for the part.
|
40
45
|
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
|
41
46
|
|
42
47
|
|
43
|
-
sig { params(
|
44
|
-
def initialize(
|
45
|
-
@container = container
|
48
|
+
sig { params(file: ::String, id: ::Integer, key: ::String, size: ::Integer, accessible: T.nilable(T::Boolean), audio_profile: T.nilable(::String), container: T.nilable(::String), duration: T.nilable(::Integer), exists: T.nilable(T::Boolean), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(::Object), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), video_profile: T.nilable(::String)).void }
|
49
|
+
def initialize(file: nil, id: nil, key: nil, size: nil, accessible: nil, audio_profile: nil, container: nil, duration: nil, exists: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, packet_length: nil, stream: nil, video_profile: nil)
|
46
50
|
@file = file
|
47
51
|
@id = id
|
48
52
|
@key = key
|
49
53
|
@size = size
|
54
|
+
@accessible = accessible
|
50
55
|
@audio_profile = audio_profile
|
56
|
+
@container = container
|
51
57
|
@duration = duration
|
58
|
+
@exists = exists
|
52
59
|
@has64bit_offsets = has64bit_offsets
|
53
60
|
@has_thumbnail = has_thumbnail
|
54
61
|
@indexes = indexes
|
55
62
|
@optimized_for_streaming = optimized_for_streaming
|
63
|
+
@packet_length = packet_length
|
56
64
|
@stream = stream
|
57
65
|
@video_profile = video_profile
|
58
66
|
end
|
@@ -11,27 +11,24 @@ module PlexRubySDK
|
|
11
11
|
class Producer < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
# The filter string
|
14
|
+
# The filter string used to query this producer.
|
15
15
|
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
-
#
|
16
|
+
# Unique identifier for the producer.
|
17
17
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
-
# The
|
18
|
+
# The name of the producer
|
19
19
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
|
-
# A key associated with the
|
21
|
-
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
22
|
-
# The
|
23
|
-
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
|
24
|
-
# URL for the role thumbnail image.
|
20
|
+
# A unique key associated with the producer's tag, used for internal identification.
|
21
|
+
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
22
|
+
# The URL of the thumbnail image for the actor.
|
25
23
|
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
26
24
|
|
27
25
|
|
28
|
-
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key:
|
29
|
-
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil,
|
26
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
|
27
|
+
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
|
30
28
|
@filter = filter
|
31
29
|
@id = id
|
32
30
|
@tag = tag
|
33
31
|
@tag_key = tag_key
|
34
|
-
@role = role
|
35
32
|
@thumb = thumb
|
36
33
|
end
|
37
34
|
end
|
@@ -7,15 +7,15 @@
|
|
7
7
|
module PlexRubySDK
|
8
8
|
module Operations
|
9
9
|
|
10
|
-
|
11
|
-
class
|
10
|
+
# The type of rating, for example 'audience' or 'critic'.
|
11
|
+
class Rating < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
|
14
|
+
|
15
15
|
field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } }
|
16
|
-
|
16
|
+
|
17
17
|
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
|
18
|
-
|
18
|
+
|
19
19
|
field :value, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('value') } }
|
20
20
|
|
21
21
|
|
@@ -11,26 +11,26 @@ module PlexRubySDK
|
|
11
11
|
class Role < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
# The filter used to
|
15
|
-
field :filter,
|
16
|
-
#
|
17
|
-
field :id,
|
18
|
-
# The
|
14
|
+
# The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
|
15
|
+
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
+
# Unique identifier for the actor or role.
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The display tag for the actor (typically the actor's name).
|
19
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
|
+
# The role played by the actor in the media item.
|
19
21
|
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
|
20
|
-
#
|
21
|
-
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
22
|
-
# Unique identifier for the tag.
|
22
|
+
# A unique key associated with the actor's tag, used for internal identification.
|
23
23
|
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
24
|
-
# The
|
24
|
+
# The URL of the thumbnail image for the actor.
|
25
25
|
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
26
26
|
|
27
27
|
|
28
|
-
sig { params(filter:
|
29
|
-
def initialize(filter: nil, id: nil,
|
28
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String, role: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
|
29
|
+
def initialize(filter: nil, id: nil, tag: nil, role: nil, tag_key: nil, thumb: nil)
|
30
30
|
@filter = filter
|
31
31
|
@id = id
|
32
|
-
@role = role
|
33
32
|
@tag = tag
|
33
|
+
@role = role
|
34
34
|
@tag_key = tag_key
|
35
35
|
@thumb = thumb
|
36
36
|
end
|
@@ -7,15 +7,15 @@
|
|
7
7
|
module PlexRubySDK
|
8
8
|
module Operations
|
9
9
|
|
10
|
-
|
10
|
+
# The display tag for the similar item, typically the title.
|
11
11
|
class Similar < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
|
14
|
+
|
15
15
|
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
-
|
16
|
+
|
17
17
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
-
|
18
|
+
|
19
19
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
20
|
|
21
21
|
|
@@ -11,87 +11,111 @@ module PlexRubySDK
|
|
11
11
|
class Stream < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
# Codec used by the stream
|
14
|
+
# Codec used by the stream.
|
15
15
|
field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
|
16
|
-
|
16
|
+
# Display title for the stream.
|
17
|
+
field :display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
|
18
|
+
# Extended display title for the stream.
|
19
|
+
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
|
20
|
+
# Unique stream identifier.
|
17
21
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
-
#
|
22
|
+
# Index of the stream.
|
19
23
|
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
|
20
|
-
#
|
24
|
+
# Stream type (1=video, 2=audio, 3=subtitle).
|
21
25
|
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
|
22
|
-
#
|
26
|
+
# Audio channel layout.
|
23
27
|
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
|
24
|
-
#
|
28
|
+
# Bit depth of the video stream.
|
25
29
|
field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
|
26
|
-
#
|
30
|
+
# Bitrate of the stream.
|
27
31
|
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
|
28
|
-
# Indicates if the
|
32
|
+
# Indicates if the stream can auto-sync.
|
29
33
|
field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } }
|
30
|
-
# Number of audio channels (for audio streams)
|
34
|
+
# Number of audio channels (for audio streams).
|
31
35
|
field :channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('channels') } }
|
32
|
-
#
|
36
|
+
# Chroma sample location.
|
33
37
|
field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
|
34
|
-
#
|
38
|
+
# Chroma subsampling format.
|
35
39
|
field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
|
36
40
|
|
37
41
|
field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } }
|
38
|
-
#
|
42
|
+
# Coded video height.
|
39
43
|
field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
|
40
|
-
#
|
44
|
+
# Coded video width.
|
41
45
|
field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } }
|
42
|
-
#
|
46
|
+
# Color primaries used.
|
43
47
|
field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } }
|
44
|
-
#
|
48
|
+
# Color range (e.g., tv).
|
45
49
|
field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } }
|
46
|
-
#
|
50
|
+
# Color space.
|
47
51
|
field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } }
|
48
|
-
#
|
52
|
+
# Color transfer characteristics.
|
49
53
|
field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
|
50
|
-
# Indicates if this is
|
54
|
+
# Indicates if this stream is default.
|
51
55
|
field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
|
52
|
-
#
|
53
|
-
field :
|
56
|
+
# Dolby Vision BL compatibility ID.
|
57
|
+
field :dovibl_compat_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLCompatID') } }
|
58
|
+
# Indicates if Dolby Vision BL is present.
|
59
|
+
field :dovibl_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLPresent') } }
|
60
|
+
# Indicates if Dolby Vision EL is present.
|
61
|
+
field :doviel_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIELPresent') } }
|
62
|
+
# Dolby Vision level.
|
63
|
+
field :dovi_level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVILevel') } }
|
64
|
+
# Indicates if Dolby Vision is present.
|
65
|
+
field :dovi_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIPresent') } }
|
66
|
+
# Dolby Vision profile.
|
67
|
+
field :dovi_profile, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIProfile') } }
|
68
|
+
# Indicates if Dolby Vision RPU is present.
|
69
|
+
field :dovirpu_present, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIRPUPresent') } }
|
70
|
+
# Dolby Vision version.
|
71
|
+
field :dovi_version, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIVersion') } }
|
72
|
+
# Indicates if the stream is a dub.
|
73
|
+
field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } }
|
54
74
|
|
55
75
|
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
|
56
|
-
|
57
|
-
field :
|
58
|
-
#
|
76
|
+
|
77
|
+
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
|
78
|
+
# Frame rate of the stream.
|
59
79
|
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
|
60
|
-
# Indicates if the stream has a scaling matrix
|
61
|
-
field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
|
62
80
|
|
81
|
+
field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
|
82
|
+
# Indicates whether header compression is enabled.
|
83
|
+
field :header_compression, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('headerCompression') } }
|
84
|
+
# Indicates if the stream is for the hearing impaired.
|
63
85
|
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
|
64
|
-
#
|
86
|
+
# Height of the video stream.
|
65
87
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
66
|
-
#
|
88
|
+
# Language of the stream.
|
67
89
|
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
|
68
|
-
#
|
90
|
+
# ISO language code.
|
69
91
|
field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
|
70
|
-
# Language tag
|
92
|
+
# Language tag (e.g., en).
|
71
93
|
field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
|
72
|
-
#
|
94
|
+
# Video level.
|
73
95
|
field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
|
74
|
-
#
|
96
|
+
# Indicates if this is the original stream.
|
97
|
+
field :original, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('original') } }
|
98
|
+
# Video profile.
|
75
99
|
field :profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('profile') } }
|
76
|
-
# Number of reference frames
|
100
|
+
# Number of reference frames.
|
77
101
|
field :ref_frames, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('refFrames') } }
|
78
|
-
# Sampling rate
|
102
|
+
# Sampling rate for the audio stream.
|
79
103
|
field :sampling_rate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('samplingRate') } }
|
80
|
-
|
104
|
+
|
81
105
|
field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } }
|
82
|
-
# Indicates if
|
106
|
+
# Indicates if this stream is selected (applicable for audio streams).
|
83
107
|
field :selected, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('selected') } }
|
84
|
-
#
|
85
|
-
field :stream_identifier, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamIdentifier') } }
|
86
|
-
# Title of the subtitle track (for subtitle streams)
|
108
|
+
# Optional title for the stream (e.g., language variant).
|
87
109
|
field :title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
|
88
|
-
#
|
110
|
+
# Width of the video stream.
|
89
111
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
90
112
|
|
91
113
|
|
92
|
-
sig { params(codec: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean),
|
93
|
-
def initialize(codec: nil, id: nil, index: 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,
|
114
|
+
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), 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), 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 }
|
115
|
+
def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: 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, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: 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)
|
94
116
|
@codec = codec
|
117
|
+
@display_title = display_title
|
118
|
+
@extended_display_title = extended_display_title
|
95
119
|
@id = id
|
96
120
|
@index = index
|
97
121
|
@stream_type = stream_type
|
@@ -110,23 +134,32 @@ module PlexRubySDK
|
|
110
134
|
@color_space = color_space
|
111
135
|
@color_trc = color_trc
|
112
136
|
@default = default
|
113
|
-
@
|
137
|
+
@dovibl_compat_id = dovibl_compat_id
|
138
|
+
@dovibl_present = dovibl_present
|
139
|
+
@doviel_present = doviel_present
|
140
|
+
@dovi_level = dovi_level
|
141
|
+
@dovi_present = dovi_present
|
142
|
+
@dovi_profile = dovi_profile
|
143
|
+
@dovirpu_present = dovirpu_present
|
144
|
+
@dovi_version = dovi_version
|
145
|
+
@dub = dub
|
114
146
|
@embedded_in_video = embedded_in_video
|
115
|
-
@
|
147
|
+
@forced = forced
|
116
148
|
@frame_rate = frame_rate
|
117
149
|
@has_scaling_matrix = has_scaling_matrix
|
150
|
+
@header_compression = header_compression
|
118
151
|
@hearing_impaired = hearing_impaired
|
119
152
|
@height = height
|
120
153
|
@language = language
|
121
154
|
@language_code = language_code
|
122
155
|
@language_tag = language_tag
|
123
156
|
@level = level
|
157
|
+
@original = original
|
124
158
|
@profile = profile
|
125
159
|
@ref_frames = ref_frames
|
126
160
|
@sampling_rate = sampling_rate
|
127
161
|
@scan_type = scan_type
|
128
162
|
@selected = selected
|
129
|
-
@stream_identifier = stream_identifier
|
130
163
|
@title = title
|
131
164
|
@width = width
|
132
165
|
end
|
@@ -11,13 +11,22 @@ module PlexRubySDK
|
|
11
11
|
class Writer < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
|
15
|
-
field :
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
# The filter string used to query this writer.
|
15
|
+
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
+
# Unique identifier for the writer.
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The role of Writer
|
19
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
|
+
# A unique key associated with the writers tag, used for internal identification.
|
21
|
+
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
22
|
+
|
23
|
+
|
24
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String)).void }
|
25
|
+
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil)
|
26
|
+
@filter = filter
|
27
|
+
@id = id
|
20
28
|
@tag = tag
|
29
|
+
@tag_key = tag_key
|
21
30
|
end
|
22
31
|
end
|
23
32
|
end
|