plex_ruby_sdk 0.7.6 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/plex_ruby_sdk/activities.rb +115 -12
- data/lib/plex_ruby_sdk/authentication.rb +233 -29
- data/lib/plex_ruby_sdk/butler.rb +283 -30
- data/lib/plex_ruby_sdk/hubs.rb +174 -21
- data/lib/plex_ruby_sdk/library.rb +911 -152
- data/lib/plex_ruby_sdk/log.rb +179 -24
- data/lib/plex_ruby_sdk/media.rb +288 -35
- data/lib/plex_ruby_sdk/models/operations/collection.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/country.rb +10 -4
- data/lib/plex_ruby_sdk/models/operations/director.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/genre.rb +11 -4
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_genre.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/{getondeck_guids.rb → get_all_media_library_guids.rb} +3 -2
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_media.rb +8 -8
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_metadata.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_role.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_stream.rb +17 -11
- data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +7 -7
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +8 -8
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_producer.rb +39 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_similar.rb +30 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +17 -11
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_mediacontainer.rb +15 -15
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +119 -133
- data/lib/plex_ruby_sdk/models/operations/hasthumbnail.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/location.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/media.rb +27 -23
- data/lib/plex_ruby_sdk/models/operations/part.rb +23 -15
- data/lib/plex_ruby_sdk/models/operations/producer.rb +8 -11
- data/lib/plex_ruby_sdk/models/operations/{get_library_items_metadatarating.rb → rating.rb} +5 -5
- data/lib/plex_ruby_sdk/models/operations/role.rb +12 -12
- data/lib/plex_ruby_sdk/models/operations/similar.rb +4 -4
- data/lib/plex_ruby_sdk/models/operations/stream.rb +77 -44
- data/lib/plex_ruby_sdk/models/operations/writer.rb +15 -6
- data/lib/plex_ruby_sdk/models/operations.rb +18 -33
- data/lib/plex_ruby_sdk/playlists.rb +513 -60
- data/lib/plex_ruby_sdk/plex.rb +388 -38
- data/lib/plex_ruby_sdk/plex_api.rb +29 -10
- data/lib/plex_ruby_sdk/sdk_hooks/hooks.rb +103 -0
- data/lib/plex_ruby_sdk/sdk_hooks/registration.rb +35 -0
- data/lib/plex_ruby_sdk/sdk_hooks/types.rb +152 -0
- data/lib/plex_ruby_sdk/sdkconfiguration.rb +26 -7
- data/lib/plex_ruby_sdk/search.rb +174 -21
- data/lib/plex_ruby_sdk/server.rb +505 -53
- data/lib/plex_ruby_sdk/sessions.rb +228 -25
- data/lib/plex_ruby_sdk/statistics.rb +174 -21
- data/lib/plex_ruby_sdk/updater.rb +173 -20
- data/lib/plex_ruby_sdk/users.rb +56 -4
- data/lib/plex_ruby_sdk/utils/retries.rb +95 -0
- data/lib/plex_ruby_sdk/utils/utils.rb +10 -0
- data/lib/plex_ruby_sdk/video.rb +117 -14
- data/lib/plex_ruby_sdk/watchlist.rb +60 -7
- metadata +40 -23
- data/lib/plex_ruby_sdk/models/operations/get_library_items_enablecreditsmarkergeneration.rb +0 -18
- data/lib/plex_ruby_sdk/models/operations/get_library_items_episodesort.rb +0 -19
- data/lib/plex_ruby_sdk/models/operations/get_library_items_flattenseasons.rb +0 -19
- data/lib/plex_ruby_sdk/models/operations/get_library_items_mediaguid.rb +0 -26
- data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +0 -18
- data/lib/plex_ruby_sdk/models/operations/get_library_items_showordering.rb +0 -27
- data/lib/plex_ruby_sdk/models/operations/getondeck_badrequest.rb +0 -24
- data/lib/plex_ruby_sdk/models/operations/getondeck_errors.rb +0 -30
- data/lib/plex_ruby_sdk/models/operations/getondeck_library_errors.rb +0 -30
- data/lib/plex_ruby_sdk/models/operations/getondeck_media.rb +0 -66
- data/lib/plex_ruby_sdk/models/operations/getondeck_mediacontainer.rb +0 -42
- data/lib/plex_ruby_sdk/models/operations/getondeck_metadata.rb +0 -129
- data/lib/plex_ruby_sdk/models/operations/getondeck_part.rb +0 -48
- data/lib/plex_ruby_sdk/models/operations/getondeck_response.rb +0 -39
- data/lib/plex_ruby_sdk/models/operations/getondeck_responsebody.rb +0 -24
- data/lib/plex_ruby_sdk/models/operations/getondeck_stream.rb +0 -90
- data/lib/plex_ruby_sdk/models/operations/getondeck_unauthorized.rb +0 -24
@@ -7,17 +7,23 @@
|
|
7
7
|
module PlexRubySDK
|
8
8
|
module Operations
|
9
9
|
|
10
|
-
|
10
|
+
# The filter query string for country media items.
|
11
11
|
class Country < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
14
|
|
15
|
-
field :
|
15
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
16
|
+
# The country of origin of this media item
|
17
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
18
|
+
|
19
|
+
field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
20
|
|
17
21
|
|
18
|
-
sig { params(tag: T.nilable(::String)).void }
|
19
|
-
def initialize(tag: nil)
|
22
|
+
sig { params(id: ::Integer, tag: ::String, filter: T.nilable(::String)).void }
|
23
|
+
def initialize(id: nil, tag: nil, filter: nil)
|
24
|
+
@id = id
|
20
25
|
@tag = tag
|
26
|
+
@filter = filter
|
21
27
|
end
|
22
28
|
end
|
23
29
|
end
|
@@ -11,11 +11,11 @@ module PlexRubySDK
|
|
11
11
|
class Director < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
+
# The role of Director
|
15
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
14
16
|
|
15
|
-
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
16
17
|
|
17
|
-
|
18
|
-
sig { params(tag: T.nilable(::String)).void }
|
18
|
+
sig { params(tag: ::String).void }
|
19
19
|
def initialize(tag: nil)
|
20
20
|
@tag = tag
|
21
21
|
end
|
@@ -7,16 +7,23 @@
|
|
7
7
|
module PlexRubySDK
|
8
8
|
module Operations
|
9
9
|
|
10
|
-
|
10
|
+
# The filter query string for similar items.
|
11
11
|
class Genre < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
14
|
|
15
|
-
field :
|
15
|
+
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
+
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The genre name of this media-item
|
19
|
+
#
|
20
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
16
21
|
|
17
22
|
|
18
|
-
sig { params(tag:
|
19
|
-
def initialize(tag: nil)
|
23
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String).void }
|
24
|
+
def initialize(filter: nil, id: nil, tag: nil)
|
25
|
+
@filter = filter
|
26
|
+
@id = id
|
20
27
|
@tag = tag
|
21
28
|
end
|
22
29
|
end
|
@@ -11,7 +11,8 @@ module PlexRubySDK
|
|
11
11
|
class GetAllMediaLibraryGenre < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
# The
|
14
|
+
# The genre name of this media-item
|
15
|
+
#
|
15
16
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
16
17
|
|
17
18
|
|
data/lib/plex_ruby_sdk/models/operations/{getondeck_guids.rb → get_all_media_library_guids.rb}
RENAMED
@@ -8,10 +8,11 @@ module PlexRubySDK
|
|
8
8
|
module Operations
|
9
9
|
|
10
10
|
|
11
|
-
class
|
11
|
+
class GetAllMediaLibraryGuids < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
|
14
|
+
# The unique identifier for the Guid. Can be imdb://tt0286347, tmdb://1763, tvdb://2337
|
15
|
+
#
|
15
16
|
field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
16
17
|
|
17
18
|
|
@@ -11,12 +11,8 @@ module PlexRubySDK
|
|
11
11
|
class GetAllMediaLibraryMedia < ::Crystalline::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
14
|
# Unique media identifier.
|
17
15
|
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::GetAllMediaLibraryPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
20
16
|
# Aspect ratio of the video.
|
21
17
|
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
|
22
18
|
# Number of audio channels.
|
@@ -35,10 +31,14 @@ module PlexRubySDK
|
|
35
31
|
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
|
36
32
|
|
37
33
|
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
|
34
|
+
# Indicates whether voice activity is detected.
|
35
|
+
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
|
38
36
|
# Video height in pixels.
|
39
37
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
40
38
|
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
41
39
|
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
|
40
|
+
# An array of parts for this media item.
|
41
|
+
field :part, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
42
42
|
# Video codec used.
|
43
43
|
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
|
44
44
|
# Frame rate of the video. Values found include NTSC, PAL, 24p
|
@@ -52,11 +52,9 @@ module PlexRubySDK
|
|
52
52
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
53
53
|
|
54
54
|
|
55
|
-
sig { params(
|
56
|
-
def initialize(
|
57
|
-
@has_voice_activity = has_voice_activity
|
55
|
+
sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::Object), part: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
|
56
|
+
def initialize(id: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
|
58
57
|
@id = id
|
59
|
-
@part = part
|
60
58
|
@aspect_ratio = aspect_ratio
|
61
59
|
@audio_channels = audio_channels
|
62
60
|
@audio_codec = audio_codec
|
@@ -66,8 +64,10 @@ module PlexRubySDK
|
|
66
64
|
@display_offset = display_offset
|
67
65
|
@duration = duration
|
68
66
|
@has64bit_offsets = has64bit_offsets
|
67
|
+
@has_voice_activity = has_voice_activity
|
69
68
|
@height = height
|
70
69
|
@optimized_for_streaming = optimized_for_streaming
|
70
|
+
@part = part
|
71
71
|
@video_codec = video_codec
|
72
72
|
@video_frame_rate = video_frame_rate
|
73
73
|
@video_profile = video_profile
|
@@ -52,8 +52,6 @@ module PlexRubySDK
|
|
52
52
|
field :title_sort, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } }
|
53
53
|
|
54
54
|
field :type, ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType, false) } }
|
55
|
-
# The release year of the media item.
|
56
|
-
field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
|
57
55
|
# The URL for the audience rating image.
|
58
56
|
field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
|
59
57
|
# The source from which chapter data is derived.
|
@@ -89,7 +87,7 @@ module PlexRubySDK
|
|
89
87
|
# The title of the grandparent media item.
|
90
88
|
field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
|
91
89
|
|
92
|
-
field :guids, T.nilable(T::Array[::PlexRubySDK::Operations::
|
90
|
+
field :guids, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
|
93
91
|
|
94
92
|
field :image, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
|
95
93
|
# The Unix timestamp representing the last time the item was rated.
|
@@ -140,10 +138,12 @@ module PlexRubySDK
|
|
140
138
|
field :view_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewOffset') } }
|
141
139
|
|
142
140
|
field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
|
141
|
+
# The release year of the media item.
|
142
|
+
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
|
143
143
|
|
144
144
|
|
145
|
-
sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::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: ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType,
|
146
|
-
def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: 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,
|
145
|
+
sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::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: ::PlexRubySDK::Operations::GetAllMediaLibraryLibraryType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryCountry]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryDirector]), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryGenre]), 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[::PlexRubySDK::Operations::GetAllMediaLibraryGuids]), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryImage]), last_rated_at: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryMedia]), 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), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetAllMediaLibraryRole]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryUltraBlurColors), 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[::PlexRubySDK::Operations::GetAllMediaLibraryWriter]), year: T.nilable(::Integer)).void }
|
146
|
+
def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: 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_source: nil, collection: nil, content_rating: nil, country: nil, created_at_accuracy: nil, created_at_tz_offset: nil, director: 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, 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, rating_image: nil, role: 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)
|
147
147
|
@added_at = added_at
|
148
148
|
@art = art
|
149
149
|
@audience_rating = audience_rating
|
@@ -164,7 +164,6 @@ module PlexRubySDK
|
|
164
164
|
@title = title
|
165
165
|
@title_sort = title_sort
|
166
166
|
@type = type
|
167
|
-
@year = year
|
168
167
|
@audience_rating_image = audience_rating_image
|
169
168
|
@chapter_source = chapter_source
|
170
169
|
@collection = collection
|
@@ -208,6 +207,7 @@ module PlexRubySDK
|
|
208
207
|
@viewed_leaf_count = viewed_leaf_count
|
209
208
|
@view_offset = view_offset
|
210
209
|
@writer = writer
|
210
|
+
@year = year
|
211
211
|
end
|
212
212
|
end
|
213
213
|
end
|
@@ -11,7 +11,7 @@ module PlexRubySDK
|
|
11
11
|
class GetAllMediaLibraryRole < ::Crystalline::FieldAugmented
|
12
12
|
extend T::Sig
|
13
13
|
|
14
|
-
# The
|
14
|
+
# The display tag for the actor (typically the actor's name).
|
15
15
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
16
16
|
|
17
17
|
|
@@ -21,12 +21,6 @@ module PlexRubySDK
|
|
21
21
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
22
22
|
# Index of the stream.
|
23
23
|
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
|
24
|
-
# Language of the stream.
|
25
|
-
field :language, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
|
26
|
-
# ISO language code.
|
27
|
-
field :language_code, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
|
28
|
-
# Language tag (e.g., en).
|
29
|
-
field :language_tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
|
30
24
|
# Stream type (1=video, 2=audio, 3=subtitle).
|
31
25
|
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
|
32
26
|
# Audio channel layout.
|
@@ -43,6 +37,8 @@ module PlexRubySDK
|
|
43
37
|
field :chroma_location, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaLocation') } }
|
44
38
|
# Chroma subsampling format.
|
45
39
|
field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
|
40
|
+
|
41
|
+
field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } }
|
46
42
|
# Coded video height.
|
47
43
|
field :coded_height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codedHeight') } }
|
48
44
|
# Coded video width.
|
@@ -76,6 +72,8 @@ module PlexRubySDK
|
|
76
72
|
# Indicates if the stream is a dub.
|
77
73
|
field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } }
|
78
74
|
|
75
|
+
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
|
76
|
+
|
79
77
|
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
|
80
78
|
# Frame rate of the stream.
|
81
79
|
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
|
@@ -87,6 +85,12 @@ module PlexRubySDK
|
|
87
85
|
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
|
88
86
|
# Height of the video stream.
|
89
87
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
88
|
+
# Language of the stream.
|
89
|
+
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
|
90
|
+
# ISO language code.
|
91
|
+
field :language_code, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageCode') } }
|
92
|
+
# Language tag (e.g., en).
|
93
|
+
field :language_tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('languageTag') } }
|
90
94
|
# Video level.
|
91
95
|
field :level, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('level') } }
|
92
96
|
# Indicates if this is the original stream.
|
@@ -107,16 +111,13 @@ module PlexRubySDK
|
|
107
111
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
108
112
|
|
109
113
|
|
110
|
-
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer,
|
111
|
-
def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil,
|
114
|
+
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, index: ::Integer, stream_type: ::Integer, audio_channel_layout: T.nilable(::String), bit_depth: T.nilable(::Integer), bitrate: T.nilable(::Integer), can_auto_sync: T.nilable(T::Boolean), channels: T.nilable(::Integer), chroma_location: T.nilable(::String), chroma_subsampling: T.nilable(::String), closed_captions: T.nilable(T::Boolean), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), dovibl_compat_id: T.nilable(::Integer), dovibl_present: T.nilable(T::Boolean), doviel_present: T.nilable(T::Boolean), dovi_level: T.nilable(::Integer), dovi_present: T.nilable(T::Boolean), dovi_profile: T.nilable(::Integer), dovirpu_present: T.nilable(T::Boolean), dovi_version: T.nilable(::String), dub: T.nilable(T::Boolean), embedded_in_video: T.nilable(::String), forced: T.nilable(T::Boolean), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void }
|
115
|
+
def initialize(codec: nil, display_title: nil, extended_display_title: nil, id: nil, index: nil, stream_type: nil, audio_channel_layout: nil, bit_depth: nil, bitrate: nil, can_auto_sync: nil, channels: nil, chroma_location: nil, chroma_subsampling: nil, closed_captions: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, dovibl_compat_id: nil, dovibl_present: nil, doviel_present: nil, dovi_level: nil, dovi_present: nil, dovi_profile: nil, dovirpu_present: nil, dovi_version: nil, dub: nil, embedded_in_video: nil, forced: nil, frame_rate: nil, has_scaling_matrix: nil, header_compression: nil, hearing_impaired: nil, height: nil, language: nil, language_code: nil, language_tag: nil, level: nil, original: nil, profile: nil, ref_frames: nil, sampling_rate: nil, scan_type: nil, selected: nil, title: nil, width: nil)
|
112
116
|
@codec = codec
|
113
117
|
@display_title = display_title
|
114
118
|
@extended_display_title = extended_display_title
|
115
119
|
@id = id
|
116
120
|
@index = index
|
117
|
-
@language = language
|
118
|
-
@language_code = language_code
|
119
|
-
@language_tag = language_tag
|
120
121
|
@stream_type = stream_type
|
121
122
|
@audio_channel_layout = audio_channel_layout
|
122
123
|
@bit_depth = bit_depth
|
@@ -125,6 +126,7 @@ module PlexRubySDK
|
|
125
126
|
@channels = channels
|
126
127
|
@chroma_location = chroma_location
|
127
128
|
@chroma_subsampling = chroma_subsampling
|
129
|
+
@closed_captions = closed_captions
|
128
130
|
@coded_height = coded_height
|
129
131
|
@coded_width = coded_width
|
130
132
|
@color_primaries = color_primaries
|
@@ -141,12 +143,16 @@ module PlexRubySDK
|
|
141
143
|
@dovirpu_present = dovirpu_present
|
142
144
|
@dovi_version = dovi_version
|
143
145
|
@dub = dub
|
146
|
+
@embedded_in_video = embedded_in_video
|
144
147
|
@forced = forced
|
145
148
|
@frame_rate = frame_rate
|
146
149
|
@has_scaling_matrix = has_scaling_matrix
|
147
150
|
@header_compression = header_compression
|
148
151
|
@hearing_impaired = hearing_impaired
|
149
152
|
@height = height
|
153
|
+
@language = language
|
154
|
+
@language_code = language_code
|
155
|
+
@language_tag = language_tag
|
150
156
|
@level = level
|
151
157
|
@original = original
|
152
158
|
@profile = profile
|
@@ -36,7 +36,7 @@ module PlexRubySDK
|
|
36
36
|
|
37
37
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
38
38
|
|
39
|
-
field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::
|
39
|
+
field :optimized_for_streaming, T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::OptimizedForStreaming, true) } }
|
40
40
|
|
41
41
|
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
|
42
42
|
|
@@ -49,7 +49,7 @@ module PlexRubySDK
|
|
49
49
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
50
50
|
|
51
51
|
|
52
|
-
sig { params(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::
|
52
|
+
sig { params(container: ::String, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
|
53
53
|
def initialize(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
|
54
54
|
@container = container
|
55
55
|
@id = id
|
@@ -51,11 +51,11 @@ module PlexRubySDK
|
|
51
51
|
|
52
52
|
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
|
53
53
|
# Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled).
|
54
|
-
field :enable_credits_marker_generation, T.nilable(::PlexRubySDK::Operations::
|
54
|
+
field :enable_credits_marker_generation, T.nilable(::PlexRubySDK::Operations::EnableCreditsMarkerGeneration), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('enableCreditsMarkerGeneration'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::EnableCreditsMarkerGeneration, true) } }
|
55
55
|
# Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first).
|
56
|
-
field :episode_sort, T.nilable(::PlexRubySDK::Operations::
|
56
|
+
field :episode_sort, T.nilable(::PlexRubySDK::Operations::EpisodeSort), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('episodeSort'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::EpisodeSort, true) } }
|
57
57
|
# Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
|
58
|
-
field :flatten_seasons, T.nilable(::PlexRubySDK::Operations::
|
58
|
+
field :flatten_seasons, T.nilable(::PlexRubySDK::Operations::FlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::FlattenSeasons, true) } }
|
59
59
|
|
60
60
|
field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } }
|
61
61
|
|
@@ -99,9 +99,9 @@ module PlexRubySDK
|
|
99
99
|
field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
|
100
100
|
# The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
101
101
|
#
|
102
|
-
field :media_guid, T.nilable(T::Array[::PlexRubySDK::Operations::
|
102
|
+
field :media_guid, T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
|
103
103
|
|
104
|
-
field :meta_data_rating, T.nilable(T::Array[::PlexRubySDK::Operations::
|
104
|
+
field :meta_data_rating, T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
|
105
105
|
|
106
106
|
field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
|
107
107
|
|
@@ -144,7 +144,7 @@ module PlexRubySDK
|
|
144
144
|
# dvd = TheTVDB (DVD),
|
145
145
|
# absolute = TheTVDB (Absolute)).
|
146
146
|
#
|
147
|
-
field :show_ordering, T.nilable(::PlexRubySDK::Operations::
|
147
|
+
field :show_ordering, T.nilable(::PlexRubySDK::Operations::ShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ShowOrdering, true) } }
|
148
148
|
|
149
149
|
field :skip_children, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipChildren') } }
|
150
150
|
|
@@ -177,7 +177,7 @@ module PlexRubySDK
|
|
177
177
|
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
|
178
178
|
|
179
179
|
|
180
|
-
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), enable_credits_marker_generation: T.nilable(::PlexRubySDK::Operations::
|
180
|
+
sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCollection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), enable_credits_marker_generation: T.nilable(::PlexRubySDK::Operations::EnableCreditsMarkerGeneration), episode_sort: T.nilable(::PlexRubySDK::Operations::EpisodeSort), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), 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), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), library_section_id: T.nilable(::Integer), library_section_key: T.nilable(::String), library_section_title: T.nilable(::String), location: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLocation]), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), meta_data_rating: T.nilable(T::Array[::PlexRubySDK::Operations::MetaDataRating]), 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_slug: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::GetLibraryItemsUltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void }
|
181
181
|
def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, enable_credits_marker_generation: nil, episode_sort: nil, flatten_seasons: 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, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, location: nil, media: nil, media_guid: nil, meta_data_rating: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_slug: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil)
|
182
182
|
@added_at = added_at
|
183
183
|
@guid = guid
|
@@ -11,12 +11,8 @@ module PlexRubySDK
|
|
11
11
|
class GetMediaMetaDataMedia < ::Crystalline::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
14
|
# Unique media identifier.
|
17
15
|
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') } }
|
20
16
|
# Aspect ratio of the video.
|
21
17
|
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
|
22
18
|
# Number of audio channels.
|
@@ -35,10 +31,14 @@ module PlexRubySDK
|
|
35
31
|
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
|
36
32
|
|
37
33
|
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
|
34
|
+
# Indicates whether voice activity is detected.
|
35
|
+
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
|
38
36
|
# Video height in pixels.
|
39
37
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
40
38
|
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
41
39
|
field :optimized_for_streaming, T.nilable(::Object), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
|
40
|
+
# An array of parts for this media item.
|
41
|
+
field :part, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
42
42
|
# Video codec used.
|
43
43
|
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
|
44
44
|
# Frame rate of the video. Values found include NTSC, PAL, 24p
|
@@ -52,11 +52,9 @@ module PlexRubySDK
|
|
52
52
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
53
53
|
|
54
54
|
|
55
|
-
sig { params(
|
56
|
-
def initialize(
|
57
|
-
@has_voice_activity = has_voice_activity
|
55
|
+
sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(::Object), part: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
|
56
|
+
def initialize(id: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
|
58
57
|
@id = id
|
59
|
-
@part = part
|
60
58
|
@aspect_ratio = aspect_ratio
|
61
59
|
@audio_channels = audio_channels
|
62
60
|
@audio_codec = audio_codec
|
@@ -66,8 +64,10 @@ module PlexRubySDK
|
|
66
64
|
@display_offset = display_offset
|
67
65
|
@duration = duration
|
68
66
|
@has64bit_offsets = has64bit_offsets
|
67
|
+
@has_voice_activity = has_voice_activity
|
69
68
|
@height = height
|
70
69
|
@optimized_for_streaming = optimized_for_streaming
|
70
|
+
@part = part
|
71
71
|
@video_codec = video_codec
|
72
72
|
@video_frame_rate = video_frame_rate
|
73
73
|
@video_profile = video_profile
|
@@ -106,7 +106,7 @@ module PlexRubySDK
|
|
106
106
|
|
107
107
|
field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
|
108
108
|
# An array of Writer roles.
|
109
|
-
field :producer, T.nilable(T::Array[::PlexRubySDK::Operations::
|
109
|
+
field :producer, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataProducer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } }
|
110
110
|
# The general rating
|
111
111
|
field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
|
112
112
|
# The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).
|
@@ -116,7 +116,7 @@ module PlexRubySDK
|
|
116
116
|
# An array of Actor roles.
|
117
117
|
field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
|
118
118
|
# An array of similar content objects.
|
119
|
-
field :similar, T.nilable(T::Array[::PlexRubySDK::Operations::
|
119
|
+
field :similar, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataSimilar]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Similar') } }
|
120
120
|
# The number of times the item has been skipped.
|
121
121
|
field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } }
|
122
122
|
# A URL-friendly identifier for the item.
|
@@ -135,7 +135,7 @@ module PlexRubySDK
|
|
135
135
|
field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
|
136
136
|
|
137
137
|
|
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::
|
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::GetMediaMetaDataProducer]), 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::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[::PlexRubySDK::Operations::GetMediaMetaDataWriter])).void }
|
139
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)
|
140
140
|
@added_at = added_at
|
141
141
|
@art = art
|
@@ -0,0 +1,39 @@
|
|
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
|
+
|
11
|
+
class GetMediaMetaDataProducer < ::Crystalline::FieldAugmented
|
12
|
+
extend T::Sig
|
13
|
+
|
14
|
+
# The filter string for the role.
|
15
|
+
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
+
# The unique role identifier.
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The actor's name.
|
19
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
|
+
# A key associated with the actor tag.
|
21
|
+
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
22
|
+
# The character name or role.
|
23
|
+
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
|
24
|
+
# URL for the role thumbnail image.
|
25
|
+
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
26
|
+
|
27
|
+
|
28
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
|
29
|
+
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
|
30
|
+
@filter = filter
|
31
|
+
@id = id
|
32
|
+
@tag = tag
|
33
|
+
@tag_key = tag_key
|
34
|
+
@role = role
|
35
|
+
@thumb = thumb
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,30 @@
|
|
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
|
+
|
11
|
+
class GetMediaMetaDataSimilar < ::Crystalline::FieldAugmented
|
12
|
+
extend T::Sig
|
13
|
+
|
14
|
+
# The filter string for similar items.
|
15
|
+
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
16
|
+
# The unique similar item identifier.
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The tag or title of the similar content.
|
19
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
|
+
|
21
|
+
|
22
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String).void }
|
23
|
+
def initialize(filter: nil, id: nil, tag: nil)
|
24
|
+
@filter = filter
|
25
|
+
@id = id
|
26
|
+
@tag = tag
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|