plex_ruby_sdk 0.11.1 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/models/operations/attributes.rb +37 -0
  3. data/lib/plex_ruby_sdk/models/operations/chapter.rb +53 -0
  4. data/lib/plex_ruby_sdk/models/operations/extras.rb +33 -0
  5. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +20 -8
  6. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb +25 -0
  7. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +9 -9
  8. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +8 -12
  9. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +5 -4
  10. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_image.rb +5 -5
  11. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb +22 -0
  12. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +144 -95
  13. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +11 -11
  14. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +20 -8
  15. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +25 -0
  16. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb +25 -0
  17. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_ultrablurcolors.rb +4 -4
  18. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +8 -12
  19. data/lib/plex_ruby_sdk/models/operations/marker.rb +53 -0
  20. data/lib/plex_ruby_sdk/models/operations/stream.rb +20 -8
  21. data/lib/plex_ruby_sdk/models/operations/streamtype.rb +25 -0
  22. data/lib/plex_ruby_sdk/models/operations.rb +9 -0
  23. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  24. metadata +11 -2
@@ -8,176 +8,211 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
-
11
+ # Unknown
12
+ #
12
13
  class GetMediaMetaDataMetadata
13
14
  extend T::Sig
14
15
  include Crystalline::MetadataFields
15
16
 
16
17
 
17
18
  field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
18
- # URL of the art image.
19
+ # The art image URL for the media item.
19
20
  field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
20
- # Duration of the content in milliseconds.
21
+ # The audience rating for the media item.
22
+ field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
23
+ # The number of child items associated with this media item.
24
+ field :child_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
25
+ # The duration of the media item in milliseconds.
21
26
  field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
22
- # The globally unique identifier for the item.
27
+ # The globally unique identifier for the media item.
23
28
  field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
24
- # An array of image objects.
25
- field :image, T::Array[Models::Operations::GetMediaMetaDataImage], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
26
- # The API key to access metadata details.
29
+ # The index position of the media item.
30
+ field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
31
+ # The unique key for the media item.
27
32
  field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
28
- # The ID of the library section.
33
+ # The identifier for the library section.
29
34
  field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
30
- # The key of the library section.
35
+ # The key corresponding to the library section.
31
36
  field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
32
37
  # The title of the library section.
33
38
  field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
34
- # The rating key of the metadata item.
39
+ # The original release date of the media item.
40
+ field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
41
+ # The critic rating for the media item.
42
+ field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
43
+ # The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API.
35
44
  field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
36
- # A summary of the content.
45
+ # The total number of seasons (for TV shows).
46
+ field :season_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } }
47
+ # A URL‐friendly version of the media title.
48
+ field :slug, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
49
+ # A synopsis of the media item.
37
50
  field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
38
- # URL of the thumbnail image.
51
+ # A brief tagline for the media item.
52
+ field :tagline, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
53
+ # The theme URL for the media item.
54
+ field :theme, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
55
+ # The thumbnail image URL for the media item.
39
56
  field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
40
- # The title of the content.
57
+ # The title of the media item.
41
58
  field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
42
- # The type of content (e.g., show, movie).
43
- field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
44
-
45
- field :ultra_blur_colors, Models::Operations::GetMediaMetaDataUltraBlurColors, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
59
+ # The sort title used for ordering media items.
60
+ field :title_sort, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } }
46
61
 
47
- field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
48
- # The release year.
49
- field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
50
- # The audience rating for the content.
51
- field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
62
+ field :type, Models::Operations::GetMediaMetaDataType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataType, false) } }
52
63
  # The URL for the audience rating image.
53
64
  field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
54
65
 
66
+ field :chapter, T.nilable(T::Array[Models::Operations::Chapter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Chapter') } }
67
+ # The source from which chapter data is derived.
55
68
  field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
56
- # The number of child items.
57
- field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
58
- # The content rating (e.g., TV-MA).
69
+ # The content rating for the media item.
59
70
  field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
60
- # An array of country tags.
71
+
61
72
  field :country, T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
62
- # An array of Director roles.
73
+ # The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available).
74
+ field :created_at_accuracy, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtAccuracy') } }
75
+ # The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC.
76
+ field :created_at_tz_offset, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtTZOffset') } }
77
+
63
78
  field :director, T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } }
64
- # An array of genre tags.
79
+
80
+ field :extras, T.nilable(Models::Operations::Extras), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Extras') } }
81
+
65
82
  field :genre, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } }
66
- # The URL of the grandparent's art image.
83
+ # The art URL for the grandparent media item.
67
84
  field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } }
68
- # A GUID identifying the grandparent entity (e.g., show).
85
+ # The GUID of the grandparent media item.
69
86
  field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } }
70
- # A key identifying the grandparent metadata in the library.
87
+ # The key of the grandparent media item.
71
88
  field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } }
72
- # The rating key of the grandparent of this metadata item.
89
+ # The rating key of the grandparent media item.
73
90
  field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } }
74
- # A URL-friendly identifier (slug) for the grandparent entity.
91
+ # The slug for the grandparent media item.
75
92
  field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } }
76
- # The URL of the grandparent's thumbnail image.
93
+ # The theme URL for the grandparent media item.
94
+ field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } }
95
+ # The thumbnail URL for the grandparent media item.
77
96
  field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
78
- # The title of the grandparent entity (typically the show's title).
97
+ # The title of the grandparent media item.
79
98
  field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
80
- # An array of GUID objects.
99
+
81
100
  field :guids, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
82
- # The index or order of the item.
83
- field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
84
- # Unix timestamp of when the item was last viewed.
101
+
102
+ field :image, T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
103
+ # The Unix timestamp representing the last time the item was rated.
104
+ field :last_rated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastRatedAt') } }
105
+ # Unix timestamp for when the media item was last viewed.
85
106
  field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
86
- # The total number of episodes (or leaves).
107
+ # The number of leaf items (end nodes) under this media item.
87
108
  field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
88
- # An array of location objects.
109
+
89
110
  field :location, T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
90
111
 
112
+ field :marker, T.nilable(T::Array[Models::Operations::Marker]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Marker') } }
113
+
91
114
  field :media, T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
92
- # The original release date.
93
- field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
94
- # The original title of the content.
115
+ # The original title of the media item (if different).
95
116
  field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
96
- # A GUID identifying the parent entity (e.g., season) for the item.
117
+ # The GUID of the parent media item.
97
118
  field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } }
98
- # The index number of the parent entity, which could indicate its order or position.
119
+ # The index position of the parent media item.
99
120
  field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } }
100
- # A key identifying the parent metadata in the library.
121
+ # The key of the parent media item.
101
122
  field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } }
102
- # The rating key of the parent of this metadata item.
123
+ # The rating key of the parent media item.
103
124
  field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } }
104
- # The URL of the parent's thumbnail image.
125
+ # The thumbnail URL for the parent media item.
105
126
  field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } }
106
- # The title of the parent entity (typically the season's title).
127
+ # The title of the parent media item.
107
128
  field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } }
108
-
129
+ # The primary extra key associated with this media item.
109
130
  field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
110
- # An array of Writer roles.
131
+
111
132
  field :producer, T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } }
112
- # The general rating
113
- field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
114
- # The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).
133
+ # The URL for the rating image.
115
134
  field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } }
116
- # An array of rating objects.
135
+
117
136
  field :ratings, T.nilable(T::Array[Models::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
118
- # An array of Actor roles.
137
+
119
138
  field :role, T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
120
- # An array of similar content objects.
139
+
121
140
  field :similar, T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Similar') } }
122
- # The number of times the item has been skipped.
141
+ # The number of times this media item has been skipped.
123
142
  field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } }
124
- # A URL-friendly identifier for the item.
125
- field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
126
- # The studio that produced the content.
143
+ # The studio that produced the media item.
127
144
  field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } }
128
- # The tagline of the content.
129
- field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
130
- # URL of the theme image.
131
- field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
132
- # The number of times the item has been viewed.
145
+ # A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip.
146
+ field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
147
+
148
+ field :ultra_blur_colors, T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
149
+ # Unix epoch datetime in seconds
150
+ field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
151
+ # The rating provided by a user for the item. This value is expressed as a decimal number.
152
+ field :user_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userRating') } }
153
+ # The number of times this media item has been viewed.
133
154
  field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } }
134
- # The number of episodes that have been viewed.
155
+ # The number of leaf items that have been viewed.
135
156
  field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } }
136
- # An array of Writer roles.
157
+ # The current playback offset (in milliseconds).
158
+ field :view_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewOffset') } }
159
+
137
160
  field :writer, T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
161
+ # The release year of the media item.
162
+ field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
138
163
 
139
164
 
140
- sig { params(added_at: ::Integer, art: ::String, duration: ::Integer, guid: ::String, image: T::Array[Models::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: Models::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[Models::Operations::GetMediaMetaDataCountry]), director: T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), genre: T.nilable(T::Array[Models::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[Models::Operations::GetMediaMetaDataGuids]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), media: T.nilable(T::Array[Models::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[Models::Operations::GetMediaMetaDataProducer]), rating: T.nilable(::Float), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::Ratings]), role: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), 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[Models::Operations::GetMediaMetaDataWriter])).void }
141
- 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)
165
+ sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, originally_available_at: ::Date, rating: ::Float, rating_key: ::String, season_count: ::Integer, slug: ::String, summary: ::String, tagline: ::String, theme: ::String, thumb: ::String, title: ::String, title_sort: ::String, type: Models::Operations::GetMediaMetaDataType, audience_rating_image: T.nilable(::String), chapter: T.nilable(T::Array[Models::Operations::Chapter]), chapter_source: T.nilable(::String), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), extras: T.nilable(Models::Operations::Extras), genre: T.nilable(T::Array[Models::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_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), guids: T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), image: T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), location: T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), marker: T.nilable(T::Array[Models::Operations::Marker]), media: T.nilable(T::Array[Models::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[Models::Operations::GetMediaMetaDataProducer]), rating_image: T.nilable(::String), ratings: T.nilable(T::Array[Models::Operations::Ratings]), role: T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), similar: T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), updated_at: T.nilable(::Integer), user_rating: T.nilable(::Float), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), year: T.nilable(::Integer)).void }
166
+ def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, originally_available_at: nil, rating: nil, rating_key: nil, season_count: nil, slug: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title: nil, title_sort: nil, type: nil, audience_rating_image: nil, chapter: nil, chapter_source: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: nil, extras: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, guids: nil, image: nil, last_rated_at: nil, last_viewed_at: nil, leaf_count: nil, location: nil, marker: 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, rating_image: nil, ratings: nil, role: nil, similar: nil, skip_count: nil, studio: nil, subtype: nil, ultra_blur_colors: nil, updated_at: nil, user_rating: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
142
167
  @added_at = added_at
143
168
  @art = art
169
+ @audience_rating = audience_rating
170
+ @child_count = child_count
144
171
  @duration = duration
145
172
  @guid = guid
146
- @image = image
173
+ @index = index
147
174
  @key = key
148
175
  @library_section_id = library_section_id
149
176
  @library_section_key = library_section_key
150
177
  @library_section_title = library_section_title
178
+ @originally_available_at = originally_available_at
179
+ @rating = rating
151
180
  @rating_key = rating_key
181
+ @season_count = season_count
182
+ @slug = slug
152
183
  @summary = summary
184
+ @tagline = tagline
185
+ @theme = theme
153
186
  @thumb = thumb
154
187
  @title = title
188
+ @title_sort = title_sort
155
189
  @type = type
156
- @ultra_blur_colors = ultra_blur_colors
157
- @updated_at = updated_at
158
- @year = year
159
- @audience_rating = audience_rating
160
190
  @audience_rating_image = audience_rating_image
191
+ @chapter = chapter
161
192
  @chapter_source = chapter_source
162
- @child_count = child_count
163
193
  @content_rating = content_rating
164
194
  @country = country
195
+ @created_at_accuracy = created_at_accuracy
196
+ @created_at_tz_offset = created_at_tz_offset
165
197
  @director = director
198
+ @extras = extras
166
199
  @genre = genre
167
200
  @grandparent_art = grandparent_art
168
201
  @grandparent_guid = grandparent_guid
169
202
  @grandparent_key = grandparent_key
170
203
  @grandparent_rating_key = grandparent_rating_key
171
204
  @grandparent_slug = grandparent_slug
205
+ @grandparent_theme = grandparent_theme
172
206
  @grandparent_thumb = grandparent_thumb
173
207
  @grandparent_title = grandparent_title
174
208
  @guids = guids
175
- @index = index
209
+ @image = image
210
+ @last_rated_at = last_rated_at
176
211
  @last_viewed_at = last_viewed_at
177
212
  @leaf_count = leaf_count
178
213
  @location = location
214
+ @marker = marker
179
215
  @media = media
180
- @originally_available_at = originally_available_at
181
216
  @original_title = original_title
182
217
  @parent_guid = parent_guid
183
218
  @parent_index = parent_index
@@ -187,62 +222,74 @@ module PlexRubySDK
187
222
  @parent_title = parent_title
188
223
  @primary_extra_key = primary_extra_key
189
224
  @producer = producer
190
- @rating = rating
191
225
  @rating_image = rating_image
192
226
  @ratings = ratings
193
227
  @role = role
194
228
  @similar = similar
195
229
  @skip_count = skip_count
196
- @slug = slug
197
230
  @studio = studio
198
- @tagline = tagline
199
- @theme = theme
231
+ @subtype = subtype
232
+ @ultra_blur_colors = ultra_blur_colors
233
+ @updated_at = updated_at
234
+ @user_rating = user_rating
200
235
  @view_count = view_count
201
236
  @viewed_leaf_count = viewed_leaf_count
237
+ @view_offset = view_offset
202
238
  @writer = writer
239
+ @year = year
203
240
  end
204
241
 
205
242
  def ==(other)
206
243
  return false unless other.is_a? self.class
207
244
  return false unless @added_at == other.added_at
208
245
  return false unless @art == other.art
246
+ return false unless @audience_rating == other.audience_rating
247
+ return false unless @child_count == other.child_count
209
248
  return false unless @duration == other.duration
210
249
  return false unless @guid == other.guid
211
- return false unless @image == other.image
250
+ return false unless @index == other.index
212
251
  return false unless @key == other.key
213
252
  return false unless @library_section_id == other.library_section_id
214
253
  return false unless @library_section_key == other.library_section_key
215
254
  return false unless @library_section_title == other.library_section_title
255
+ return false unless @originally_available_at == other.originally_available_at
256
+ return false unless @rating == other.rating
216
257
  return false unless @rating_key == other.rating_key
258
+ return false unless @season_count == other.season_count
259
+ return false unless @slug == other.slug
217
260
  return false unless @summary == other.summary
261
+ return false unless @tagline == other.tagline
262
+ return false unless @theme == other.theme
218
263
  return false unless @thumb == other.thumb
219
264
  return false unless @title == other.title
265
+ return false unless @title_sort == other.title_sort
220
266
  return false unless @type == other.type
221
- return false unless @ultra_blur_colors == other.ultra_blur_colors
222
- return false unless @updated_at == other.updated_at
223
- return false unless @year == other.year
224
- return false unless @audience_rating == other.audience_rating
225
267
  return false unless @audience_rating_image == other.audience_rating_image
268
+ return false unless @chapter == other.chapter
226
269
  return false unless @chapter_source == other.chapter_source
227
- return false unless @child_count == other.child_count
228
270
  return false unless @content_rating == other.content_rating
229
271
  return false unless @country == other.country
272
+ return false unless @created_at_accuracy == other.created_at_accuracy
273
+ return false unless @created_at_tz_offset == other.created_at_tz_offset
230
274
  return false unless @director == other.director
275
+ return false unless @extras == other.extras
231
276
  return false unless @genre == other.genre
232
277
  return false unless @grandparent_art == other.grandparent_art
233
278
  return false unless @grandparent_guid == other.grandparent_guid
234
279
  return false unless @grandparent_key == other.grandparent_key
235
280
  return false unless @grandparent_rating_key == other.grandparent_rating_key
236
281
  return false unless @grandparent_slug == other.grandparent_slug
282
+ return false unless @grandparent_theme == other.grandparent_theme
237
283
  return false unless @grandparent_thumb == other.grandparent_thumb
238
284
  return false unless @grandparent_title == other.grandparent_title
239
285
  return false unless @guids == other.guids
240
- return false unless @index == other.index
286
+ return false unless @image == other.image
287
+ return false unless @last_rated_at == other.last_rated_at
241
288
  return false unless @last_viewed_at == other.last_viewed_at
242
289
  return false unless @leaf_count == other.leaf_count
243
290
  return false unless @location == other.location
291
+ return false unless @marker == other.marker
244
292
  return false unless @media == other.media
245
- return false unless @originally_available_at == other.originally_available_at
246
293
  return false unless @original_title == other.original_title
247
294
  return false unless @parent_guid == other.parent_guid
248
295
  return false unless @parent_index == other.parent_index
@@ -252,19 +299,21 @@ module PlexRubySDK
252
299
  return false unless @parent_title == other.parent_title
253
300
  return false unless @primary_extra_key == other.primary_extra_key
254
301
  return false unless @producer == other.producer
255
- return false unless @rating == other.rating
256
302
  return false unless @rating_image == other.rating_image
257
303
  return false unless @ratings == other.ratings
258
304
  return false unless @role == other.role
259
305
  return false unless @similar == other.similar
260
306
  return false unless @skip_count == other.skip_count
261
- return false unless @slug == other.slug
262
307
  return false unless @studio == other.studio
263
- return false unless @tagline == other.tagline
264
- return false unless @theme == other.theme
308
+ return false unless @subtype == other.subtype
309
+ return false unless @ultra_blur_colors == other.ultra_blur_colors
310
+ return false unless @updated_at == other.updated_at
311
+ return false unless @user_rating == other.user_rating
265
312
  return false unless @view_count == other.view_count
266
313
  return false unless @viewed_leaf_count == other.viewed_leaf_count
314
+ return false unless @view_offset == other.view_offset
267
315
  return false unless @writer == other.writer
316
+ return false unless @year == other.year
268
317
  true
269
318
  end
270
319
  end
@@ -13,27 +13,27 @@ module PlexRubySDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The filter string for the role.
16
+ # The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
17
17
  field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
18
- # The unique role identifier.
18
+ # Unique identifier for the actor or role.
19
19
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
20
- # The actor's name.
20
+ # The display tag for the actor (typically the actor's name).
21
21
  field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
22
- # A key associated with the actor tag.
23
- field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
24
- # The character name or role.
22
+ # The role played by the actor in the media item.
25
23
  field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
26
- # URL for the role thumbnail image.
24
+ # A unique key associated with the actor's tag, used for internal identification.
25
+ field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
26
+ # The URL of the thumbnail image for the actor.
27
27
  field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
28
28
 
29
29
 
30
- sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
31
- def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
30
+ sig { params(filter: ::String, id: ::Integer, tag: ::String, role: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
31
+ def initialize(filter: nil, id: nil, tag: nil, role: nil, tag_key: nil, thumb: nil)
32
32
  @filter = filter
33
33
  @id = id
34
34
  @tag = tag
35
- @tag_key = tag_key
36
35
  @role = role
36
+ @tag_key = tag_key
37
37
  @thumb = thumb
38
38
  end
39
39
 
@@ -42,8 +42,8 @@ module PlexRubySDK
42
42
  return false unless @filter == other.filter
43
43
  return false unless @id == other.id
44
44
  return false unless @tag == other.tag
45
- return false unless @tag_key == other.tag_key
46
45
  return false unless @role == other.role
46
+ return false unless @tag_key == other.tag_key
47
47
  return false unless @thumb == other.thumb
48
48
  true
49
49
  end
@@ -21,10 +21,12 @@ module PlexRubySDK
21
21
  field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
22
22
  # Unique stream identifier.
23
23
  field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
24
- # Index of the stream.
25
- field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
26
- # Stream type (1=video, 2=audio, 3=subtitle).
27
- field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
24
+ # Stream type:
25
+ # - 1 = video
26
+ # - 2 = audio
27
+ # - 3 = subtitle
28
+ #
29
+ field :stream_type, Models::Operations::GetMediaMetaDataStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataStreamType, false) } }
28
30
  # Audio channel layout.
29
31
  field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
30
32
  # Bit depth of the video stream.
@@ -77,6 +79,8 @@ module PlexRubySDK
77
79
  field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
78
80
 
79
81
  field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
82
+ # Format of the stream (e.g., srt).
83
+ field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } }
80
84
  # Frame rate of the stream.
81
85
  field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
82
86
 
@@ -87,6 +91,10 @@ module PlexRubySDK
87
91
  field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
88
92
  # Height of the video stream.
89
93
  field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
94
+ # Index of the stream.
95
+ field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
96
+ # Key to access this stream part.
97
+ field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
90
98
  # Language of the stream.
91
99
  field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
92
100
  # ISO language code.
@@ -113,13 +121,12 @@ module PlexRubySDK
113
121
  field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
114
122
 
115
123
 
116
- sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, 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 }
117
- 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)
124
+ sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::GetMediaMetaDataStreamType, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void }
125
+ def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, format: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, index: nil, key: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil)
118
126
  @codec = codec
119
127
  @display_title = display_title
120
128
  @extended_display_title = extended_display_title
121
129
  @id = id
122
- @index = index
123
130
  @stream_type = stream_type
124
131
  @audio_channel_layout = audio_channel_layout
125
132
  @bit_depth = bit_depth
@@ -147,11 +154,14 @@ module PlexRubySDK
147
154
  @dub = dub
148
155
  @embedded_in_video = embedded_in_video
149
156
  @forced = forced
157
+ @format = format
150
158
  @frame_rate = frame_rate
151
159
  @has_scaling_matrix = has_scaling_matrix
152
160
  @header_compression = header_compression
153
161
  @hearing_impaired = hearing_impaired
154
162
  @height = height
163
+ @index = index
164
+ @key = key
155
165
  @language = language
156
166
  @language_code = language_code
157
167
  @language_tag = language_tag
@@ -172,7 +182,6 @@ module PlexRubySDK
172
182
  return false unless @display_title == other.display_title
173
183
  return false unless @extended_display_title == other.extended_display_title
174
184
  return false unless @id == other.id
175
- return false unless @index == other.index
176
185
  return false unless @stream_type == other.stream_type
177
186
  return false unless @audio_channel_layout == other.audio_channel_layout
178
187
  return false unless @bit_depth == other.bit_depth
@@ -200,11 +209,14 @@ module PlexRubySDK
200
209
  return false unless @dub == other.dub
201
210
  return false unless @embedded_in_video == other.embedded_in_video
202
211
  return false unless @forced == other.forced
212
+ return false unless @format == other.format
203
213
  return false unless @frame_rate == other.frame_rate
204
214
  return false unless @has_scaling_matrix == other.has_scaling_matrix
205
215
  return false unless @header_compression == other.header_compression
206
216
  return false unless @hearing_impaired == other.hearing_impaired
207
217
  return false unless @height == other.height
218
+ return false unless @index == other.index
219
+ return false unless @key == other.key
208
220
  return false unless @language == other.language
209
221
  return false unless @language_code == other.language_code
210
222
  return false unless @language_tag == other.language_tag
@@ -0,0 +1,25 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Models
9
+ module Operations
10
+
11
+ # GetMediaMetaDataStreamType - Stream type:
12
+ # - 1 = video
13
+ # - 2 = audio
14
+ # - 3 = subtitle
15
+ #
16
+ class GetMediaMetaDataStreamType < T::Enum
17
+ enums do
18
+ VIDEO = new(1)
19
+ AUDIO = new(2)
20
+ SUBTITLE = new(3)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module PlexRubySDK
8
+ module Models
9
+ module Operations
10
+
11
+ # GetMediaMetaDataType - The type of media content
12
+ #
13
+ class GetMediaMetaDataType < T::Enum
14
+ enums do
15
+ MOVIE = new('movie')
16
+ TV_SHOW = new('show')
17
+ SEASON = new('season')
18
+ EPISODE = new('episode')
19
+ ARTIST = new('artist')
20
+ ALBUM = new('album')
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end