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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/library.rb +0 -44
  3. data/lib/plex_ruby_sdk/models/operations/collection.rb +3 -3
  4. data/lib/plex_ruby_sdk/models/operations/country.rb +10 -4
  5. data/lib/plex_ruby_sdk/models/operations/director.rb +3 -3
  6. data/lib/plex_ruby_sdk/models/operations/genre.rb +11 -4
  7. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb +2 -1
  8. data/lib/plex_ruby_sdk/models/operations/{getondeck_guids.rb → get_all_media_library_guids.rb} +3 -2
  9. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb +8 -8
  10. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb +6 -6
  11. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb +1 -1
  12. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +17 -11
  13. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +2 -2
  14. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +7 -7
  15. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +8 -8
  16. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +3 -3
  17. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_producer.rb +39 -0
  18. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_similar.rb +30 -0
  19. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +17 -11
  20. data/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb +15 -15
  21. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +119 -133
  22. data/lib/plex_ruby_sdk/models/operations/hasthumbnail.rb +1 -1
  23. data/lib/plex_ruby_sdk/models/operations/location.rb +3 -3
  24. data/lib/plex_ruby_sdk/models/operations/media.rb +27 -23
  25. data/lib/plex_ruby_sdk/models/operations/part.rb +23 -15
  26. data/lib/plex_ruby_sdk/models/operations/producer.rb +8 -11
  27. data/lib/plex_ruby_sdk/models/operations/{get_library_items_metadatarating.rb → rating.rb} +5 -5
  28. data/lib/plex_ruby_sdk/models/operations/role.rb +12 -12
  29. data/lib/plex_ruby_sdk/models/operations/similar.rb +4 -4
  30. data/lib/plex_ruby_sdk/models/operations/stream.rb +77 -44
  31. data/lib/plex_ruby_sdk/models/operations/writer.rb +15 -6
  32. data/lib/plex_ruby_sdk/models/operations.rb +18 -33
  33. data/lib/plex_ruby_sdk/sdkconfiguration.rb +2 -2
  34. metadata +6 -21
  35. data/lib/plex_ruby_sdk/models/operations/get_library_items_enablecreditsmarkergeneration.rb +0 -18
  36. data/lib/plex_ruby_sdk/models/operations/get_library_items_episodesort.rb +0 -19
  37. data/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb +0 -19
  38. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb +0 -26
  39. data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +0 -18
  40. data/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb +0 -27
  41. data/lib/plex_ruby_sdk/models/operations/getondeck_badrequest.rb +0 -24
  42. data/lib/plex_ruby_sdk/models/operations/getondeck_errors.rb +0 -30
  43. data/lib/plex_ruby_sdk/models/operations/getondeck_library_errors.rb +0 -30
  44. data/lib/plex_ruby_sdk/models/operations/getondeck_media.rb +0 -66
  45. data/lib/plex_ruby_sdk/models/operations/getondeck_mediacontainer.rb +0 -42
  46. data/lib/plex_ruby_sdk/models/operations/getondeck_metadata.rb +0 -129
  47. data/lib/plex_ruby_sdk/models/operations/getondeck_part.rb +0 -48
  48. data/lib/plex_ruby_sdk/models/operations/getondeck_response.rb +0 -39
  49. data/lib/plex_ruby_sdk/models/operations/getondeck_responsebody.rb +0 -24
  50. data/lib/plex_ruby_sdk/models/operations/getondeck_stream.rb +0 -90
  51. 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, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
15
+ field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
16
16
 
17
17
 
18
- sig { params(path: T.nilable(::String)).void }
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(::PlexRubySDK::Operations::OptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::OptimizedForStreaming, true) } }
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(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::Part], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming), 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 }
53
- def initialize(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
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
- # The container format of the media file.
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 :optimized_for_streaming, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
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(container: ::String, file: ::String, id: ::Integer, key: ::String, size: ::Integer, audio_profile: T.nilable(::String), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(T::Boolean), stream: T.nilable(T::Array[::PlexRubySDK::Operations::Stream]), video_profile: T.nilable(::String)).void }
44
- def initialize(container: nil, file: nil, id: nil, key: nil, size: nil, audio_profile: nil, duration: nil, has64bit_offsets: nil, has_thumbnail: nil, indexes: nil, optimized_for_streaming: nil, stream: nil, video_profile: nil)
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 for the role.
14
+ # The filter string used to query this producer.
15
15
  field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
- # The unique role identifier.
16
+ # Unique identifier for the producer.
17
17
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
- # The actor's name.
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 actor tag.
21
- field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
22
- # The character name or role.
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: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
29
- def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: 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 GetLibraryItemsMetaDataRating < ::Crystalline::FieldAugmented
10
+ # The type of rating, for example 'audience' or 'critic'.
11
+ class Rating < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # A URI or path to the rating image.
14
+
15
15
  field :image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('image') } }
16
- # The type of rating (e.g., audience, critic).
16
+
17
17
  field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
18
- # The value of the rating.
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 find the actor or tag.
15
- field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
- # The ID of the tag or actor.
17
- field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
- # The role of the actor or tag in the media.
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
- # The name of the tag or actor.
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 thumbnail of the actor
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: T.nilable(::String), id: T.nilable(::Integer), role: T.nilable(::String), tag: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
29
- def initialize(filter: nil, id: nil, role: nil, tag: nil, tag_key: nil, thumb: 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
- # The filter string for similar items.
14
+
15
15
  field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
16
- # The unique similar item identifier.
16
+
17
17
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
- # The tag or title of the similar content.
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
- # The index of the stream
22
+ # Index of the stream.
19
23
  field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
20
- # Type of stream (1 = video, 2 = audio, 3 = subtitle)
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
- # The audio channel layout
26
+ # Audio channel layout.
23
27
  field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
24
- # The bit depth of the video stream
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
- # The bitrate of the stream in kbps
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 subtitle stream can auto-sync
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
- # The chroma location of the video stream
36
+ # Chroma sample location.
33
37
  field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
34
- # The chroma subsampling format
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
- # The coded height of the video stream
42
+ # Coded video height.
39
43
  field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
40
- # The coded width of the video stream
44
+ # Coded video width.
41
45
  field :coded_width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedWidth') } }
42
- # The color primaries of the video stream
46
+ # Color primaries used.
43
47
  field :color_primaries, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorPrimaries') } }
44
- # The color range of the video stream
48
+ # Color range (e.g., tv).
45
49
  field :color_range, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorRange') } }
46
- # The color space of the video stream
50
+ # Color space.
47
51
  field :color_space, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorSpace') } }
48
- # The transfer characteristics (TRC) of the video stream
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 the default stream
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
- # Display title of the stream
53
- field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
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
- # Extended display title of the stream
57
- field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
58
- # The frame rate of the video stream
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
- # The height of the video stream
86
+ # Height of the video stream.
65
87
  field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
66
- # The language of the stream (for audio/subtitle streams)
88
+ # Language of the stream.
67
89
  field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
68
- # Language code of the stream
90
+ # ISO language code.
69
91
  field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
70
- # Language tag of the stream
92
+ # Language tag (e.g., en).
71
93
  field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
72
- # The level of the video codec
94
+ # Video level.
73
95
  field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
74
- # The profile of the video codec
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 of the audio stream in Hz
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
- # The scan type (progressive or interlaced)
104
+
81
105
  field :scan_type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scanType') } }
82
- # Indicates if the stream is selected
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
- # The identifier of the video stream
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
- # The width of the video stream
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), display_title: T.nilable(::String), embedded_in_video: T.nilable(::String), extended_display_title: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: 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), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), stream_identifier: T.nilable(::String), title: T.nilable(::String), width: T.nilable(::Integer)).void }
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, display_title: nil, embedded_in_video: nil, extended_display_title: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, stream_identifier: nil, title: nil, width: 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
- @display_title = display_title
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
- @extended_display_title = extended_display_title
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 :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
16
-
17
-
18
- sig { params(tag: T.nilable(::String)).void }
19
- def initialize(tag: nil)
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