plex_ruby_sdk 0.7.4 → 0.7.5

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/library.rb +51 -0
  3. data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +3 -3
  4. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_activedirection.rb +19 -0
  5. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_badrequest.rb +24 -0
  6. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_collection.rb +24 -0
  7. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_country.rb +24 -0
  8. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb +19 -0
  9. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_director.rb +24 -0
  10. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_errors.rb +30 -0
  11. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_field.rb +33 -0
  12. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb +27 -0
  13. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_filter.rb +39 -0
  14. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb +24 -0
  15. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_hasthumbnail.rb +18 -0
  16. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_image.rb +30 -0
  17. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_errors.rb +30 -0
  18. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_response_type.rb +20 -0
  19. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_library_type.rb +23 -0
  20. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb +79 -0
  21. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_mediacontainer.rb +79 -0
  22. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_meta.rb +28 -0
  23. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb +214 -0
  24. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_operator.rb +27 -0
  25. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_part.rb +69 -0
  26. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_includemeta.rb +19 -0
  27. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_queryparam_type.rb +29 -0
  28. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_request.rb +64 -0
  29. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_response.rb +39 -0
  30. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb +24 -0
  31. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb +24 -0
  32. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb +47 -0
  33. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +162 -0
  34. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_type.rb +45 -0
  35. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_ultrablurcolors.rb +33 -0
  36. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_unauthorized.rb +24 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_writer.rb +24 -0
  38. data/lib/plex_ruby_sdk/models/operations/get_countries_library_mediacontainer.rb +15 -21
  39. data/lib/plex_ruby_sdk/models/operations/get_genres_library_mediacontainer.rb +15 -21
  40. data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +5 -2
  41. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +2 -0
  42. data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +5 -2
  43. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb +24 -0
  44. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +18 -0
  45. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +37 -24
  46. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +3 -3
  47. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +28 -22
  48. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +29 -14
  49. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +8 -5
  50. data/lib/plex_ruby_sdk/models/operations/get_recently_added_filter.rb +5 -2
  51. data/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb +2 -0
  52. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_filter.rb +5 -2
  53. data/lib/plex_ruby_sdk/models/operations/get_recently_added_library_type.rb +5 -2
  54. data/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb +2 -2
  55. data/lib/plex_ruby_sdk/models/operations/get_recently_added_type.rb +5 -2
  56. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includecollections.rb +18 -0
  57. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_queryparam_includeexternalmedia.rb +18 -0
  58. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_request.rb +3 -3
  59. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb +2 -0
  60. data/lib/plex_ruby_sdk/models/operations/guids.rb +4 -3
  61. data/lib/plex_ruby_sdk/models/operations/includeadvanced.rb +18 -0
  62. data/lib/plex_ruby_sdk/models/operations/queryparam_includecollections.rb +1 -1
  63. data/lib/plex_ruby_sdk/models/operations/queryparam_includeexternalmedia.rb +1 -1
  64. data/lib/plex_ruby_sdk/models/operations/queryparam_includeguids.rb +19 -0
  65. data/lib/plex_ruby_sdk/models/operations/{rating.rb → ratings.rb} +1 -1
  66. data/lib/plex_ruby_sdk/models/operations/tag.rb +0 -4
  67. data/lib/plex_ruby_sdk/models/operations.rb +44 -4
  68. data/lib/plex_ruby_sdk/sdkconfiguration.rb +2 -2
  69. metadata +43 -3
@@ -11,50 +11,63 @@ module PlexRubySDK
11
11
  class GetMediaMetaDataMedia < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
+ # Indicates whether voice activity is detected.
15
+ field :has_voice_activity, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
16
+ # Unique media identifier.
17
+ field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
18
+ # An array of parts for this media item.
19
+ field :part, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
14
20
  # Aspect ratio of the video.
15
- field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
21
+ field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
16
22
  # Number of audio channels.
17
- field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
23
+ field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
18
24
  # Audio codec used.
19
- field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
25
+ field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
26
+ # The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
27
+ field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
20
28
  # Bitrate in bits per second.
21
- field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
29
+ field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
22
30
  # File container type.
23
- field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
31
+ field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
32
+
33
+ field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } }
24
34
  # Duration of the media in milliseconds.
25
- field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
- # Indicates whether voice activity is detected.
27
- field :has_voice_activity, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
35
+ field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
36
+
37
+ field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
28
38
  # Video height in pixels.
29
- field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
30
- # Unique media identifier.
31
- field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
32
- # An array of parts for this media item.
33
- field :part, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
39
+ field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
40
+ # Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
41
+ field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
34
42
  # Video codec used.
35
- field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
36
- # Frame rate of the video (e.g., 24p).
37
- field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
43
+ field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
44
+ # Frame rate of the video. Values found include NTSC, PAL, 24p
45
+ #
46
+ field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
38
47
  # Video profile (e.g., main 10).
39
- field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
48
+ field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
40
49
  # Video resolution (e.g., 4k).
41
- field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
50
+ field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
42
51
  # Video width in pixels.
43
- field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
52
+ field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
44
53
 
45
54
 
46
- sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, has_voice_activity: T::Boolean, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer).void }
47
- def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, has_voice_activity: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
55
+ sig { params(has_voice_activity: T::Boolean, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart], 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), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::Object), 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(has_voice_activity: nil, id: nil, part: 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, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
57
+ @has_voice_activity = has_voice_activity
58
+ @id = id
59
+ @part = part
48
60
  @aspect_ratio = aspect_ratio
49
61
  @audio_channels = audio_channels
50
62
  @audio_codec = audio_codec
63
+ @audio_profile = audio_profile
51
64
  @bitrate = bitrate
52
65
  @container = container
66
+ @display_offset = display_offset
53
67
  @duration = duration
54
- @has_voice_activity = has_voice_activity
68
+ @has64bit_offsets = has64bit_offsets
55
69
  @height = height
56
- @id = id
57
- @part = part
70
+ @optimized_for_streaming = optimized_for_streaming
58
71
  @video_codec = video_codec
59
72
  @video_frame_rate = video_frame_rate
60
73
  @video_profile = video_profile
@@ -25,13 +25,13 @@ module PlexRubySDK
25
25
  field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
26
26
  # An array of metadata items.
27
27
  field :metadata, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
28
-
29
- field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
28
+ # Number of media items returned in this response.
29
+ field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
30
30
  # The universally unique identifier for the library section.
31
31
  field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
32
32
 
33
33
 
34
- sig { params(allow_sync: T::Boolean, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMetadata], size: ::Float, library_section_uuid: T.nilable(::String)).void }
34
+ sig { params(allow_sync: T::Boolean, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMetadata], size: ::Integer, library_section_uuid: T.nilable(::String)).void }
35
35
  def initialize(allow_sync: nil, identifier: nil, library_section_id: nil, library_section_title: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, size: nil, library_section_uuid: nil)
36
36
  @allow_sync = allow_sync
37
37
  @identifier = identifier
@@ -11,22 +11,14 @@ module PlexRubySDK
11
11
  class GetMediaMetaDataMetadata < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # Unix timestamp when the item was added.
14
+
15
15
  field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
16
16
  # URL of the art image.
17
17
  field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
18
- # The audience rating for the content.
19
- field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
20
- # The URL for the audience rating image.
21
- field :audience_rating_image, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
22
- # The content rating (e.g., TV-MA).
23
- field :content_rating, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
24
18
  # Duration of the content in milliseconds.
25
19
  field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
26
20
  # The globally unique identifier for the item.
27
21
  field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
28
- # An array of GUID objects.
29
- field :guids, T::Array[::PlexRubySDK::Operations::Guids], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
30
22
  # An array of image objects.
31
23
  field :image, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
32
24
  # The API key to access metadata details.
@@ -37,10 +29,6 @@ module PlexRubySDK
37
29
  field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
38
30
  # The title of the library section.
39
31
  field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
40
- # The original release date.
41
- field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
42
- # An array of rating objects.
43
- field :rating, T::Array[::PlexRubySDK::Operations::Rating], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
44
32
  # The rating key of the metadata item.
45
33
  field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
46
34
  # A summary of the content.
@@ -53,14 +41,20 @@ module PlexRubySDK
53
41
  field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
54
42
 
55
43
  field :ultra_blur_colors, ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
56
- # Unix timestamp when the item was last updated.
44
+
57
45
  field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
58
46
  # The release year.
59
47
  field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
48
+ # The audience rating for the content.
49
+ field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
50
+ # The URL for the audience rating image.
51
+ field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
60
52
 
61
53
  field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
62
54
  # The number of child items.
63
55
  field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
56
+ # The content rating (e.g., TV-MA).
57
+ field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
64
58
  # An array of country tags.
65
59
  field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
66
60
  # An array of Director roles.
@@ -81,6 +75,8 @@ module PlexRubySDK
81
75
  field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
82
76
  # The title of the grandparent entity (typically the show's title).
83
77
  field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
78
+ # An array of GUID objects.
79
+ field :guids, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
84
80
  # The index or order of the item.
85
81
  field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
86
82
  # Unix timestamp of when the item was last viewed.
@@ -91,6 +87,8 @@ module PlexRubySDK
91
87
  field :location, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
92
88
 
93
89
  field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
90
+ # The original release date.
91
+ field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
94
92
  # The original title of the content.
95
93
  field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
96
94
  # A GUID identifying the parent entity (e.g., season) for the item.
@@ -109,6 +107,12 @@ module PlexRubySDK
109
107
  field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
110
108
  # An array of Writer roles.
111
109
  field :producer, T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } }
110
+ # The general rating
111
+ field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
112
+ # The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).
113
+ field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } }
114
+ # An array of rating objects.
115
+ field :ratings, T.nilable(T::Array[::PlexRubySDK::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
112
116
  # An array of Actor roles.
113
117
  field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
114
118
  # An array of similar content objects.
@@ -131,23 +135,17 @@ module PlexRubySDK
131
135
  field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
132
136
 
133
137
 
134
- sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, audience_rating_image: ::String, content_rating: ::String, duration: ::Integer, guid: ::String, guids: T::Array[::PlexRubySDK::Operations::Guids], image: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, rating: T::Array[::PlexRubySDK::Operations::Rating], rating_key: ::String, summary: ::String, thumb: ::String, title: ::String, type: ::String, ultra_blur_colors: ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, updated_at: ::Integer, year: ::Integer, chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataDirector]), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMedia]), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[::PlexRubySDK::Operations::Similar]), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter])).void }
135
- def initialize(added_at: nil, art: nil, audience_rating: nil, audience_rating_image: nil, content_rating: nil, duration: nil, guid: nil, guids: nil, image: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, rating: nil, rating_key: nil, summary: nil, thumb: nil, title: nil, type: nil, ultra_blur_colors: nil, updated_at: nil, year: nil, chapter_source: nil, child_count: nil, country: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_thumb: nil, grandparent_title: nil, index: nil, last_viewed_at: nil, leaf_count: nil, location: nil, media: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, role: nil, similar: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, view_count: nil, viewed_leaf_count: nil, writer: nil)
138
+ sig { params(added_at: ::Integer, art: ::String, duration: ::Integer, guid: ::String, image: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataImage], key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, rating_key: ::String, summary: ::String, thumb: ::String, title: ::String, type: ::String, ultra_blur_colors: ::PlexRubySDK::Operations::GetMediaMetaDataUltraBlurColors, updated_at: ::Integer, year: ::Integer, audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataDirector]), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataGuids]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataMedia]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[::PlexRubySDK::Operations::Producer]), rating: T.nilable(::Float), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[::PlexRubySDK::Operations::Ratings]), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[::PlexRubySDK::Operations::Similar]), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter])).void }
139
+ def initialize(added_at: nil, art: nil, duration: nil, guid: nil, image: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, rating_key: nil, summary: nil, thumb: nil, title: nil, type: nil, ultra_blur_colors: nil, updated_at: nil, year: nil, audience_rating: nil, audience_rating_image: nil, chapter_source: nil, child_count: nil, content_rating: nil, country: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, index: nil, last_viewed_at: nil, leaf_count: nil, location: nil, media: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_thumb: nil, parent_title: nil, primary_extra_key: nil, producer: nil, rating: nil, rating_image: nil, ratings: nil, role: nil, similar: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, view_count: nil, viewed_leaf_count: nil, writer: nil)
136
140
  @added_at = added_at
137
141
  @art = art
138
- @audience_rating = audience_rating
139
- @audience_rating_image = audience_rating_image
140
- @content_rating = content_rating
141
142
  @duration = duration
142
143
  @guid = guid
143
- @guids = guids
144
144
  @image = image
145
145
  @key = key
146
146
  @library_section_id = library_section_id
147
147
  @library_section_key = library_section_key
148
148
  @library_section_title = library_section_title
149
- @originally_available_at = originally_available_at
150
- @rating = rating
151
149
  @rating_key = rating_key
152
150
  @summary = summary
153
151
  @thumb = thumb
@@ -156,8 +154,11 @@ module PlexRubySDK
156
154
  @ultra_blur_colors = ultra_blur_colors
157
155
  @updated_at = updated_at
158
156
  @year = year
157
+ @audience_rating = audience_rating
158
+ @audience_rating_image = audience_rating_image
159
159
  @chapter_source = chapter_source
160
160
  @child_count = child_count
161
+ @content_rating = content_rating
161
162
  @country = country
162
163
  @director = director
163
164
  @genre = genre
@@ -168,11 +169,13 @@ module PlexRubySDK
168
169
  @grandparent_slug = grandparent_slug
169
170
  @grandparent_thumb = grandparent_thumb
170
171
  @grandparent_title = grandparent_title
172
+ @guids = guids
171
173
  @index = index
172
174
  @last_viewed_at = last_viewed_at
173
175
  @leaf_count = leaf_count
174
176
  @location = location
175
177
  @media = media
178
+ @originally_available_at = originally_available_at
176
179
  @original_title = original_title
177
180
  @parent_guid = parent_guid
178
181
  @parent_index = parent_index
@@ -182,6 +185,9 @@ module PlexRubySDK
182
185
  @parent_title = parent_title
183
186
  @primary_extra_key = primary_extra_key
184
187
  @producer = producer
188
+ @rating = rating
189
+ @rating_image = rating_image
190
+ @ratings = ratings
185
191
  @role = role
186
192
  @similar = similar
187
193
  @skip_count = skip_count
@@ -11,10 +11,6 @@ module PlexRubySDK
11
11
  class GetMediaMetaDataPart < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # Container format of the part.
15
- field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
16
- # Duration of the part in milliseconds.
17
- field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
18
14
  # File path for the part.
19
15
  field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } }
20
16
  # Unique part identifier.
@@ -23,31 +19,50 @@ module PlexRubySDK
23
19
  field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
24
20
  # File size in bytes.
25
21
  field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
26
- # An array of streams for this part.
27
- field :stream, T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
28
- # Video profile for the part.
29
- field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
30
22
  # Indicates if the part is accessible.
31
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.).
25
+ field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
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.
29
+ field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
32
30
  # Indicates if the part exists.
33
31
  field :exists, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('exists') } }
34
32
 
33
+ field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
34
+
35
+ field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataHasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetMediaMetaDataHasThumbnail, true) } }
36
+
35
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') } }
36
40
 
41
+ field :packet_length, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('packetLength') } }
42
+ # An array of streams for this part.
43
+ field :stream, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Stream') } }
44
+ # Video profile for the part.
45
+ field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
37
46
 
38
- sig { params(container: ::String, duration: ::Integer, file: ::String, id: ::Integer, key: ::String, size: ::Integer, stream: T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream], video_profile: ::String, accessible: T.nilable(T::Boolean), exists: T.nilable(T::Boolean), indexes: T.nilable(::String)).void }
39
- def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, stream: nil, video_profile: nil, accessible: nil, exists: nil, indexes: nil)
40
- @container = container
41
- @duration = duration
47
+
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::GetMediaMetaDataHasThumbnail), indexes: T.nilable(::String), optimized_for_streaming: T.nilable(::Object), packet_length: T.nilable(::Integer), stream: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataStream]), 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)
42
50
  @file = file
43
51
  @id = id
44
52
  @key = key
45
53
  @size = size
46
- @stream = stream
47
- @video_profile = video_profile
48
54
  @accessible = accessible
55
+ @audio_profile = audio_profile
56
+ @container = container
57
+ @duration = duration
49
58
  @exists = exists
59
+ @has64bit_offsets = has64bit_offsets
60
+ @has_thumbnail = has_thumbnail
50
61
  @indexes = indexes
62
+ @optimized_for_streaming = optimized_for_streaming
63
+ @packet_length = packet_length
64
+ @stream = stream
65
+ @video_profile = video_profile
51
66
  end
52
67
  end
53
68
  end
@@ -11,8 +11,6 @@ module PlexRubySDK
11
11
  class GetMediaMetaDataStream < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # Bitrate of the stream.
15
- field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
16
14
  # Codec used by the stream.
17
15
  field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
18
16
  # Display title for the stream.
@@ -35,6 +33,8 @@ module PlexRubySDK
35
33
  field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
36
34
  # Bit depth of the video stream.
37
35
  field :bit_depth, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitDepth') } }
36
+ # Bitrate of the stream.
37
+ field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
38
38
  # Indicates if the stream can auto-sync.
39
39
  field :can_auto_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('canAutoSync') } }
40
40
  # Number of audio channels (for audio streams).
@@ -81,6 +81,8 @@ module PlexRubySDK
81
81
  field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
82
82
 
83
83
  field :has_scaling_matrix, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasScalingMatrix') } }
84
+ # Indicates whether header compression is enabled.
85
+ field :header_compression, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('headerCompression') } }
84
86
  # Indicates if the stream is for the hearing impaired.
85
87
  field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
86
88
  # Height of the video stream.
@@ -105,9 +107,8 @@ module PlexRubySDK
105
107
  field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
106
108
 
107
109
 
108
- sig { params(bitrate: ::Integer, codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, language: ::String, language_code: ::String, language_tag: ::String, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), 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), forced: T.nilable(T::Boolean), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), 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 }
109
- def initialize(bitrate: nil, codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, language: nil, language_code: nil, language_tag: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: 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, forced: nil, frame_rate: nil, has_scaling_matrix: nil, hearing_impaired: nil, height: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil)
110
- @bitrate = bitrate
110
+ sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, language: ::String, language_code: ::String, language_tag: ::String, 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), 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), 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), 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 }
111
+ def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, language: nil, language_code: nil, language_tag: 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, 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, forced: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil)
111
112
  @codec = codec
112
113
  @display_title = display_title
113
114
  @extended_display_title = extended_display_title
@@ -119,6 +120,7 @@ module PlexRubySDK
119
120
  @stream_type = stream_type
120
121
  @audio_channel_layout = audio_channel_layout
121
122
  @bit_depth = bit_depth
123
+ @bitrate = bitrate
122
124
  @can_auto_sync = can_auto_sync
123
125
  @channels = channels
124
126
  @chroma_location = chroma_location
@@ -142,6 +144,7 @@ module PlexRubySDK
142
144
  @forced = forced
143
145
  @frame_rate = frame_rate
144
146
  @has_scaling_matrix = has_scaling_matrix
147
+ @header_compression = header_compression
145
148
  @hearing_impaired = hearing_impaired
146
149
  @height = height
147
150
  @level = level
@@ -22,14 +22,17 @@ module PlexRubySDK
22
22
 
23
23
  field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
24
24
 
25
+ field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
25
26
 
26
- sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void }
27
- def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil)
27
+
28
+ sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
29
+ def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
28
30
  @filter = filter
29
31
  @filter_type = filter_type
30
32
  @key = key
31
33
  @title = title
32
34
  @type = type
35
+ @advanced = advanced
33
36
  end
34
37
  end
35
38
  end
@@ -15,6 +15,8 @@ module PlexRubySDK
15
15
  TV_SHOW = new('show')
16
16
  SEASON = new('season')
17
17
  EPISODE = new('episode')
18
+ ARTIST = new('artist')
19
+ ALBUM = new('album')
18
20
  end
19
21
  end
20
22
  end
@@ -22,14 +22,17 @@ module PlexRubySDK
22
22
 
23
23
  field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
24
24
 
25
+ field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
25
26
 
26
- sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void }
27
- def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil)
27
+
28
+ sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
29
+ def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
28
30
  @filter = filter
29
31
  @filter_type = filter_type
30
32
  @key = key
31
33
  @title = title
32
34
  @type = type
35
+ @advanced = advanced
33
36
  end
34
37
  end
35
38
  end
@@ -26,9 +26,11 @@ module PlexRubySDK
26
26
 
27
27
  field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
28
28
 
29
+ field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
29
30
 
30
- sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::Field]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::Sort])).void }
31
- def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
31
+
32
+ sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::Field]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedLibraryFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::Sort]), subtype: T.nilable(::String)).void }
33
+ def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
32
34
  @active = active
33
35
  @key = key
34
36
  @title = title
@@ -36,6 +38,7 @@ module PlexRubySDK
36
38
  @field = field
37
39
  @filter = filter
38
40
  @sort = sort
41
+ @subtype = subtype
39
42
  end
40
43
  end
41
44
  end
@@ -12,7 +12,7 @@ module PlexRubySDK
12
12
  extend T::Sig
13
13
 
14
14
 
15
- field :size, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
15
+ field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
16
16
 
17
17
  field :allow_sync, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
18
18
 
@@ -28,7 +28,7 @@ module PlexRubySDK
28
28
  field :total_size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } }
29
29
 
30
30
 
31
- sig { params(size: ::Float, allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), meta: T.nilable(::PlexRubySDK::Operations::Meta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void }
31
+ sig { params(size: ::Integer, allow_sync: T.nilable(T::Boolean), identifier: T.nilable(::String), meta: T.nilable(::PlexRubySDK::Operations::Meta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedMetadata]), offset: T.nilable(::Integer), total_size: T.nilable(::Integer)).void }
32
32
  def initialize(size: nil, allow_sync: nil, identifier: nil, meta: nil, metadata: nil, offset: nil, total_size: nil)
33
33
  @size = size
34
34
  @allow_sync = allow_sync
@@ -26,9 +26,11 @@ module PlexRubySDK
26
26
 
27
27
  field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
28
28
 
29
+ field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
29
30
 
30
- sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort])).void }
31
- def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
31
+
32
+ sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetRecentlyAddedSort]), subtype: T.nilable(::String)).void }
33
+ def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil, subtype: nil)
32
34
  @active = active
33
35
  @key = key
34
36
  @title = title
@@ -36,6 +38,7 @@ module PlexRubySDK
36
38
  @field = field
37
39
  @filter = filter
38
40
  @sort = sort
41
+ @subtype = subtype
39
42
  end
40
43
  end
41
44
  end
@@ -0,0 +1,18 @@
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 Operations
9
+
10
+ # GetSearchAllLibrariesQueryParamIncludeCollections - Whether to include collections in the search results.
11
+ class GetSearchAllLibrariesQueryParamIncludeCollections < T::Enum
12
+ enums do
13
+ DISABLE = new(0)
14
+ ENABLE = new(1)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
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 Operations
9
+
10
+ # GetSearchAllLibrariesQueryParamIncludeExternalMedia - Whether to include external media in the search results.
11
+ class GetSearchAllLibrariesQueryParamIncludeExternalMedia < T::Enum
12
+ enums do
13
+ DISABLE = new(0)
14
+ ENABLE = new(1)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -16,9 +16,9 @@ module PlexRubySDK
16
16
  # The search query term.
17
17
  field :query, ::String, { 'query_param': { 'field_name': 'query', 'style': 'form', 'explode': true } }
18
18
  # Whether to include collections in the search results.
19
- field :include_collections, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeCollections), { 'query_param': { 'field_name': 'includeCollections', 'style': 'form', 'explode': true } }
19
+ field :include_collections, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeCollections), { 'query_param': { 'field_name': 'includeCollections', 'style': 'form', 'explode': true } }
20
20
  # Whether to include external media in the search results.
21
- field :include_external_media, T.nilable(::PlexRubySDK::Operations::QueryParamIncludeExternalMedia), { 'query_param': { 'field_name': 'includeExternalMedia', 'style': 'form', 'explode': true } }
21
+ field :include_external_media, T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeExternalMedia), { 'query_param': { 'field_name': 'includeExternalMedia', 'style': 'form', 'explode': true } }
22
22
  # Limit the number of results returned.
23
23
  field :limit, T.nilable(::Integer), { 'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': true } }
24
24
  # A comma-separated list of search types to include. Valid values are: movies, music, otherVideos, people, tv.
@@ -26,7 +26,7 @@ module PlexRubySDK
26
26
  field :search_types, T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes]), { 'query_param': { 'field_name': 'searchTypes', 'style': 'form', 'explode': false } }
27
27
 
28
28
 
29
- sig { params(client_id: ::String, query: ::String, include_collections: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeCollections), include_external_media: T.nilable(::PlexRubySDK::Operations::QueryParamIncludeExternalMedia), limit: T.nilable(::Integer), search_types: T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes])).void }
29
+ sig { params(client_id: ::String, query: ::String, include_collections: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeCollections), include_external_media: T.nilable(::PlexRubySDK::Operations::GetSearchAllLibrariesQueryParamIncludeExternalMedia), limit: T.nilable(::Integer), search_types: T.nilable(T::Array[::PlexRubySDK::Operations::SearchTypes])).void }
30
30
  def initialize(client_id: nil, query: nil, include_collections: nil, include_external_media: nil, limit: nil, search_types: nil)
31
31
  @client_id = client_id
32
32
  @query = query
@@ -15,6 +15,8 @@ module PlexRubySDK
15
15
  TV_SHOW = new('show')
16
16
  SEASON = new('season')
17
17
  EPISODE = new('episode')
18
+ ARTIST = new('artist')
19
+ ALBUM = new('album')
18
20
  end
19
21
  end
20
22
  end
@@ -11,11 +11,12 @@ module PlexRubySDK
11
11
  class Guids < ::PlexRubySDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The GUID value.
15
- field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
14
+ # The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
15
+ #
16
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
16
17
 
17
18
 
18
- sig { params(id: ::String).void }
19
+ sig { params(id: T.nilable(::String)).void }
19
20
  def initialize(id: nil)
20
21
  @id = id
21
22
  end