ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.531.4

This commit is contained in:
speakeasybot
2025-05-02 00:11:12 +00:00
parent 6ebc04fe84
commit f9354a4ec2
51 changed files with 1423 additions and 456 deletions

View File

@@ -10,14 +10,17 @@ module PlexRubySDK
autoload :Account, 'plex_ruby_sdk/models/operations/account.rb'
autoload :Action, 'plex_ruby_sdk/models/operations/action.rb'
autoload :Activity, 'plex_ruby_sdk/models/operations/activity.rb'
autoload :Attributes, 'plex_ruby_sdk/models/operations/attributes.rb'
autoload :ButlerTask, 'plex_ruby_sdk/models/operations/butlertask.rb'
autoload :ButlerTasks, 'plex_ruby_sdk/models/operations/butlertasks.rb'
autoload :Chapter, 'plex_ruby_sdk/models/operations/chapter.rb'
autoload :Collection, 'plex_ruby_sdk/models/operations/collection.rb'
autoload :Context, 'plex_ruby_sdk/models/operations/context.rb'
autoload :Country, 'plex_ruby_sdk/models/operations/country.rb'
autoload :Device, 'plex_ruby_sdk/models/operations/device.rb'
autoload :Director, 'plex_ruby_sdk/models/operations/director.rb'
autoload :Directory, 'plex_ruby_sdk/models/operations/directory.rb'
autoload :Extras, 'plex_ruby_sdk/models/operations/extras.rb'
autoload :Feature, 'plex_ruby_sdk/models/operations/feature.rb'
autoload :Field, 'plex_ruby_sdk/models/operations/field.rb'
autoload :FieldType, 'plex_ruby_sdk/models/operations/fieldtype.rb'
@@ -27,6 +30,7 @@ module PlexRubySDK
autoload :Hub, 'plex_ruby_sdk/models/operations/hub.rb'
autoload :Image, 'plex_ruby_sdk/models/operations/image.rb'
autoload :Location, 'plex_ruby_sdk/models/operations/location.rb'
autoload :Marker, 'plex_ruby_sdk/models/operations/marker.rb'
autoload :Media, 'plex_ruby_sdk/models/operations/media.rb'
autoload :MediaContainer, 'plex_ruby_sdk/models/operations/mediacontainer.rb'
autoload :MediaGuid, 'plex_ruby_sdk/models/operations/mediaguid.rb'
@@ -152,6 +156,7 @@ module PlexRubySDK
autoload :GetAllMediaLibraryRequest, 'plex_ruby_sdk/models/operations/get_all_media_library_request.rb'
autoload :GetAllMediaLibraryResponse, 'plex_ruby_sdk/models/operations/get_all_media_library_response.rb'
autoload :GetAllMediaLibraryResponseBody, 'plex_ruby_sdk/models/operations/get_all_media_library_responsebody.rb'
autoload :GetAllMediaLibraryStreamType, 'plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb'
autoload :GetBannerImageRequest, 'plex_ruby_sdk/models/operations/get_banner_image_request.rb'
autoload :GetBannerImageResponse, 'plex_ruby_sdk/models/operations/get_banner_image_response.rb'
autoload :GetCountriesLibraryDirectory, 'plex_ruby_sdk/models/operations/get_countries_library_directory.rb'
@@ -228,6 +233,7 @@ module PlexRubySDK
autoload :GetMediaMetaDataGuids, 'plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb'
autoload :GetMediaMetaDataImage, 'plex_ruby_sdk/models/operations/get_media_meta_data_image.rb'
autoload :GetMediaMetaDataLibraryOptimizedForStreaming, 'plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb'
autoload :GetMediaMetaDataLibraryType, 'plex_ruby_sdk/models/operations/get_media_meta_data_library_type.rb'
autoload :GetMediaMetaDataLocation, 'plex_ruby_sdk/models/operations/get_media_meta_data_location.rb'
autoload :GetMediaMetaDataMedia, 'plex_ruby_sdk/models/operations/get_media_meta_data_media.rb'
autoload :GetMediaMetaDataMediaContainer, 'plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb'
@@ -246,6 +252,8 @@ module PlexRubySDK
autoload :GetMediaMetaDataRequest, 'plex_ruby_sdk/models/operations/get_media_meta_data_request.rb'
autoload :GetMediaMetaDataResponse, 'plex_ruby_sdk/models/operations/get_media_meta_data_response.rb'
autoload :GetMediaMetaDataResponseBody, 'plex_ruby_sdk/models/operations/get_media_meta_data_responsebody.rb'
autoload :GetMediaMetaDataStreamType, 'plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb'
autoload :GetMediaMetaDataType, 'plex_ruby_sdk/models/operations/get_media_meta_data_type.rb'
autoload :GetMediaPostersMediaContainer, 'plex_ruby_sdk/models/operations/get_media_posters_mediacontainer.rb'
autoload :GetMediaPostersMetadata, 'plex_ruby_sdk/models/operations/get_media_posters_metadata.rb'
autoload :GetMediaPostersRequest, 'plex_ruby_sdk/models/operations/get_media_posters_request.rb'
@@ -588,6 +596,7 @@ module PlexRubySDK
autoload :StopTaskResponse, 'plex_ruby_sdk/models/operations/stoptask_response.rb'
autoload :StopTranscodeSessionRequest, 'plex_ruby_sdk/models/operations/stoptranscodesession_request.rb'
autoload :StopTranscodeSessionResponse, 'plex_ruby_sdk/models/operations/stoptranscodesession_response.rb'
autoload :StreamType, 'plex_ruby_sdk/models/operations/streamtype.rb'
autoload :Tag, 'plex_ruby_sdk/models/operations/tag.rb'
autoload :TaskName, 'plex_ruby_sdk/models/operations/taskname.rb'
autoload :Tonight, 'plex_ruby_sdk/models/operations/tonight.rb'

View File

@@ -0,0 +1,37 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# Attributes associated with the marker.
class Attributes
extend T::Sig
include Crystalline::MetadataFields
# The identifier for the attributes.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The version number of the marker attributes.
field :version, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('version') } }
sig { params(id: ::Integer, version: T.nilable(::Integer)).void }
def initialize(id: nil, version: nil)
@id = id
@version = version
end
def ==(other)
return false unless other.is_a? self.class
return false unless @id == other.id
return false unless @version == other.version
true
end
end
end
end
end

View File

@@ -0,0 +1,53 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# The thumbnail for the chapter
class Chapter
extend T::Sig
include Crystalline::MetadataFields
field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } }
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } }
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
sig { params(end_time_offset: ::Integer, filter: ::String, id: ::Integer, index: ::Integer, start_time_offset: ::Integer, thumb: ::String).void }
def initialize(end_time_offset: nil, filter: nil, id: nil, index: nil, start_time_offset: nil, thumb: nil)
@end_time_offset = end_time_offset
@filter = filter
@id = id
@index = index
@start_time_offset = start_time_offset
@thumb = thumb
end
def ==(other)
return false unless other.is_a? self.class
return false unless @end_time_offset == other.end_time_offset
return false unless @filter == other.filter
return false unless @id == other.id
return false unless @index == other.index
return false unless @start_time_offset == other.start_time_offset
return false unless @thumb == other.thumb
true
end
end
end
end
end

View File

@@ -0,0 +1,33 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
class Extras
extend T::Sig
include Crystalline::MetadataFields
# The size of the extras.
field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
sig { params(size: T.nilable(::Integer)).void }
def initialize(size: nil)
@size = size
end
def ==(other)
return false unless other.is_a? self.class
return false unless @size == other.size
true
end
end
end
end
end

View File

@@ -21,10 +21,12 @@ module PlexRubySDK
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
# Unique stream identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# Index of the stream.
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Stream type (1=video, 2=audio, 3=subtitle).
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
# Stream type:
# - 1 = video
# - 2 = audio
# - 3 = subtitle
#
field :stream_type, Models::Operations::GetAllMediaLibraryStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetAllMediaLibraryStreamType, false) } }
# Audio channel layout.
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
# Bit depth of the video stream.
@@ -77,6 +79,8 @@ module PlexRubySDK
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
# Format of the stream (e.g., srt).
field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } }
# Frame rate of the stream.
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
@@ -87,6 +91,10 @@ module PlexRubySDK
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
# Height of the video stream.
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Index of the stream.
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Key to access this stream part.
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# Language of the stream.
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
# ISO language code.
@@ -113,13 +121,12 @@ module PlexRubySDK
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
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 }
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)
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::GetAllMediaLibraryStreamType, 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 }
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)
@codec = codec
@display_title = display_title
@extended_display_title = extended_display_title
@id = id
@index = index
@stream_type = stream_type
@audio_channel_layout = audio_channel_layout
@bit_depth = bit_depth
@@ -147,11 +154,14 @@ module PlexRubySDK
@dub = dub
@embedded_in_video = embedded_in_video
@forced = forced
@format = format
@frame_rate = frame_rate
@has_scaling_matrix = has_scaling_matrix
@header_compression = header_compression
@hearing_impaired = hearing_impaired
@height = height
@index = index
@key = key
@language = language
@language_code = language_code
@language_tag = language_tag
@@ -172,7 +182,6 @@ module PlexRubySDK
return false unless @display_title == other.display_title
return false unless @extended_display_title == other.extended_display_title
return false unless @id == other.id
return false unless @index == other.index
return false unless @stream_type == other.stream_type
return false unless @audio_channel_layout == other.audio_channel_layout
return false unless @bit_depth == other.bit_depth
@@ -200,11 +209,14 @@ module PlexRubySDK
return false unless @dub == other.dub
return false unless @embedded_in_video == other.embedded_in_video
return false unless @forced == other.forced
return false unless @format == other.format
return false unless @frame_rate == other.frame_rate
return false unless @has_scaling_matrix == other.has_scaling_matrix
return false unless @header_compression == other.header_compression
return false unless @hearing_impaired == other.hearing_impaired
return false unless @height == other.height
return false unless @index == other.index
return false unless @key == other.key
return false unless @language == other.language
return false unless @language_code == other.language_code
return false unless @language_tag == other.language_tag

View File

@@ -0,0 +1,25 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# GetAllMediaLibraryStreamType - Stream type:
# - 1 = video
# - 2 = audio
# - 3 = subtitle
#
class GetAllMediaLibraryStreamType < T::Enum
enums do
VIDEO = new(1)
AUDIO = new(2)
SUBTITLE = new(3)
end
end
end
end
end

View File

@@ -8,31 +8,31 @@ module PlexRubySDK
module Models
module Operations
# The filter query string for country media items.
class GetMediaMetaDataCountry
extend T::Sig
include Crystalline::MetadataFields
# The filter string for the country.
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
# The unique country identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The country name.
# The country of origin of this media item
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
sig { params(filter: ::String, id: ::Integer, tag: ::String).void }
def initialize(filter: nil, id: nil, tag: nil)
@filter = filter
sig { params(id: ::Integer, tag: ::String, filter: T.nilable(::String)).void }
def initialize(id: nil, tag: nil, filter: nil)
@id = id
@tag = tag
@filter = filter
end
def ==(other)
return false unless other.is_a? self.class
return false unless @filter == other.filter
return false unless @id == other.id
return false unless @tag == other.tag
return false unless @filter == other.filter
true
end
end

View File

@@ -13,27 +13,24 @@ module PlexRubySDK
extend T::Sig
include Crystalline::MetadataFields
# The filter string for the role.
# The filter string used to query this director.
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
# The unique role identifier.
# Unique identifier for the director.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The actor's name.
# The role of Director
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
# A key associated with the actor tag.
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The character name or role.
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
# URL for the role thumbnail image.
# A unique key associated with the director's tag, used for internal identification.
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The URL of the thumbnail image for the director.
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
@filter = filter
@id = id
@tag = tag
@tag_key = tag_key
@role = role
@thumb = thumb
end
@@ -43,7 +40,6 @@ module PlexRubySDK
return false unless @id == other.id
return false unless @tag == other.tag
return false unless @tag_key == other.tag_key
return false unless @role == other.role
return false unless @thumb == other.thumb
true
end

View File

@@ -8,16 +8,17 @@ module PlexRubySDK
module Models
module Operations
# The filter query string for similar items.
class GetMediaMetaDataGenre
extend T::Sig
include Crystalline::MetadataFields
# The filter string for the genre.
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
# The unique genre identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The genre name.
# The genre name of this media-item
#
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }

View File

@@ -13,15 +13,15 @@ module PlexRubySDK
extend T::Sig
include Crystalline::MetadataFields
# Alternate text for the image.
field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
# The type of image (e.g., coverPoster, background, clearLogo).
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
# The URL of the image.
field :type, Models::Operations::GetMediaMetaDataLibraryType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataLibraryType, false) } }
field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
sig { params(alt: ::String, type: ::String, url: ::String).void }
sig { params(alt: ::String, type: Models::Operations::GetMediaMetaDataLibraryType, url: ::String).void }
def initialize(alt: nil, type: nil, url: nil)
@alt = alt
@type = type

View File

@@ -0,0 +1,22 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
class GetMediaMetaDataLibraryType < T::Enum
enums do
COVER_POSTER = new('coverPoster')
BACKGROUND = new('background')
SNAPSHOT = new('snapshot')
CLEAR_LOGO = new('clearLogo')
end
end
end
end
end

View File

@@ -8,176 +8,211 @@ module PlexRubySDK
module Models
module Operations
# Unknown
#
class GetMediaMetaDataMetadata
extend T::Sig
include Crystalline::MetadataFields
field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } }
# URL of the art image.
# The art image URL for the media item.
field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
# Duration of the content in milliseconds.
# The audience rating for the media item.
field :audience_rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
# The number of child items associated with this media item.
field :child_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
# The duration of the media item in milliseconds.
field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
# The globally unique identifier for the item.
# The globally unique identifier for the media item.
field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } }
# An array of image objects.
field :image, T::Array[Models::Operations::GetMediaMetaDataImage], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
# The API key to access metadata details.
# The index position of the media item.
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# The unique key for the media item.
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# The ID of the library section.
# The identifier for the library section.
field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
# The key of the library section.
# The key corresponding to the library section.
field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
# The title of the library section.
field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
# The rating key of the metadata item.
# The original release date of the media item.
field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
# The critic rating for the media item.
field :rating, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
# 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.
field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } }
# A summary of the content.
# The total number of seasons (for TV shows).
field :season_count, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } }
# A URLfriendly version of the media title.
field :slug, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
# A synopsis of the media item.
field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } }
# URL of the thumbnail image.
# A brief tagline for the media item.
field :tagline, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
# The theme URL for the media item.
field :theme, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
# The thumbnail image URL for the media item.
field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
# The title of the content.
# The title of the media item.
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
# The type of content (e.g., show, movie).
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
# The sort title used for ordering media items.
field :title_sort, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } }
field :ultra_blur_colors, Models::Operations::GetMediaMetaDataUltraBlurColors, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
field :updated_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
# The release year.
field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
# The audience rating for the content.
field :audience_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRating') } }
field :type, Models::Operations::GetMediaMetaDataType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataType, false) } }
# The URL for the audience rating image.
field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } }
field :chapter, T.nilable(T::Array[Models::Operations::Chapter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Chapter') } }
# The source from which chapter data is derived.
field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } }
# The number of child items.
field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } }
# The content rating (e.g., TV-MA).
# The content rating for the media item.
field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } }
# An array of country tags.
field :country, T.nilable(T::Array[Models::Operations::GetMediaMetaDataCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } }
# An array of Director roles.
# 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).
field :created_at_accuracy, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtAccuracy') } }
# The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC.
field :created_at_tz_offset, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('createdAtTZOffset') } }
field :director, T.nilable(T::Array[Models::Operations::GetMediaMetaDataDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } }
# An array of genre tags.
field :extras, T.nilable(Models::Operations::Extras), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Extras') } }
field :genre, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } }
# The URL of the grandparent's art image.
# The art URL for the grandparent media item.
field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } }
# A GUID identifying the grandparent entity (e.g., show).
# The GUID of the grandparent media item.
field :grandparent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentGuid') } }
# A key identifying the grandparent metadata in the library.
# The key of the grandparent media item.
field :grandparent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentKey') } }
# The rating key of the grandparent of this metadata item.
# The rating key of the grandparent media item.
field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } }
# A URL-friendly identifier (slug) for the grandparent entity.
# The slug for the grandparent media item.
field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } }
# The URL of the grandparent's thumbnail image.
# The theme URL for the grandparent media item.
field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } }
# The thumbnail URL for the grandparent media item.
field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } }
# The title of the grandparent entity (typically the show's title).
# The title of the grandparent media item.
field :grandparent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTitle') } }
# An array of GUID objects.
field :guids, T.nilable(T::Array[Models::Operations::GetMediaMetaDataGuids]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } }
# The index or order of the item.
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Unix timestamp of when the item was last viewed.
field :image, T.nilable(T::Array[Models::Operations::GetMediaMetaDataImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } }
# The Unix timestamp representing the last time the item was rated.
field :last_rated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastRatedAt') } }
# Unix timestamp for when the media item was last viewed.
field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
# The total number of episodes (or leaves).
# The number of leaf items (end nodes) under this media item.
field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
# An array of location objects.
field :location, T.nilable(T::Array[Models::Operations::GetMediaMetaDataLocation]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
field :marker, T.nilable(T::Array[Models::Operations::Marker]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Marker') } }
field :media, T.nilable(T::Array[Models::Operations::GetMediaMetaDataMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
# The original release date.
field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
# The original title of the content.
# The original title of the media item (if different).
field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
# A GUID identifying the parent entity (e.g., season) for the item.
# The GUID of the parent media item.
field :parent_guid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentGuid') } }
# The index number of the parent entity, which could indicate its order or position.
# The index position of the parent media item.
field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } }
# A key identifying the parent metadata in the library.
# The key of the parent media item.
field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } }
# The rating key of the parent of this metadata item.
# The rating key of the parent media item.
field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } }
# The URL of the parent's thumbnail image.
# The thumbnail URL for the parent media item.
field :parent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentThumb') } }
# The title of the parent entity (typically the season's title).
# The title of the parent media item.
field :parent_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentTitle') } }
# The primary extra key associated with this media item.
field :primary_extra_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('primaryExtraKey') } }
# An array of Writer roles.
field :producer, T.nilable(T::Array[Models::Operations::GetMediaMetaDataProducer]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Producer') } }
# The general rating
field :rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('rating') } }
# The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).
# The URL for the rating image.
field :rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingImage') } }
# An array of rating objects.
field :ratings, T.nilable(T::Array[Models::Operations::Ratings]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Rating') } }
# An array of Actor roles.
field :role, T.nilable(T::Array[Models::Operations::GetMediaMetaDataRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } }
# An array of similar content objects.
field :similar, T.nilable(T::Array[Models::Operations::GetMediaMetaDataSimilar]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Similar') } }
# The number of times the item has been skipped.
# The number of times this media item has been skipped.
field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } }
# A URL-friendly identifier for the item.
field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } }
# The studio that produced the content.
# The studio that produced the media item.
field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } }
# The tagline of the content.
field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } }
# URL of the theme image.
field :theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('theme') } }
# The number of times the item has been viewed.
# A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip.
field :subtype, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('subtype') } }
field :ultra_blur_colors, T.nilable(Models::Operations::GetMediaMetaDataUltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } }
# Unix epoch datetime in seconds
field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } }
# The rating provided by a user for the item. This value is expressed as a decimal number.
field :user_rating, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('userRating') } }
# The number of times this media item has been viewed.
field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } }
# The number of episodes that have been viewed.
# The number of leaf items that have been viewed.
field :viewed_leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewedLeafCount') } }
# An array of Writer roles.
# The current playback offset (in milliseconds).
field :view_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewOffset') } }
field :writer, T.nilable(T::Array[Models::Operations::GetMediaMetaDataWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } }
# The release year of the media item.
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
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 }
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)
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 }
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)
@added_at = added_at
@art = art
@audience_rating = audience_rating
@child_count = child_count
@duration = duration
@guid = guid
@image = image
@index = index
@key = key
@library_section_id = library_section_id
@library_section_key = library_section_key
@library_section_title = library_section_title
@originally_available_at = originally_available_at
@rating = rating
@rating_key = rating_key
@season_count = season_count
@slug = slug
@summary = summary
@tagline = tagline
@theme = theme
@thumb = thumb
@title = title
@title_sort = title_sort
@type = type
@ultra_blur_colors = ultra_blur_colors
@updated_at = updated_at
@year = year
@audience_rating = audience_rating
@audience_rating_image = audience_rating_image
@chapter = chapter
@chapter_source = chapter_source
@child_count = child_count
@content_rating = content_rating
@country = country
@created_at_accuracy = created_at_accuracy
@created_at_tz_offset = created_at_tz_offset
@director = director
@extras = extras
@genre = genre
@grandparent_art = grandparent_art
@grandparent_guid = grandparent_guid
@grandparent_key = grandparent_key
@grandparent_rating_key = grandparent_rating_key
@grandparent_slug = grandparent_slug
@grandparent_theme = grandparent_theme
@grandparent_thumb = grandparent_thumb
@grandparent_title = grandparent_title
@guids = guids
@index = index
@image = image
@last_rated_at = last_rated_at
@last_viewed_at = last_viewed_at
@leaf_count = leaf_count
@location = location
@marker = marker
@media = media
@originally_available_at = originally_available_at
@original_title = original_title
@parent_guid = parent_guid
@parent_index = parent_index
@@ -187,62 +222,74 @@ module PlexRubySDK
@parent_title = parent_title
@primary_extra_key = primary_extra_key
@producer = producer
@rating = rating
@rating_image = rating_image
@ratings = ratings
@role = role
@similar = similar
@skip_count = skip_count
@slug = slug
@studio = studio
@tagline = tagline
@theme = theme
@subtype = subtype
@ultra_blur_colors = ultra_blur_colors
@updated_at = updated_at
@user_rating = user_rating
@view_count = view_count
@viewed_leaf_count = viewed_leaf_count
@view_offset = view_offset
@writer = writer
@year = year
end
def ==(other)
return false unless other.is_a? self.class
return false unless @added_at == other.added_at
return false unless @art == other.art
return false unless @audience_rating == other.audience_rating
return false unless @child_count == other.child_count
return false unless @duration == other.duration
return false unless @guid == other.guid
return false unless @image == other.image
return false unless @index == other.index
return false unless @key == other.key
return false unless @library_section_id == other.library_section_id
return false unless @library_section_key == other.library_section_key
return false unless @library_section_title == other.library_section_title
return false unless @originally_available_at == other.originally_available_at
return false unless @rating == other.rating
return false unless @rating_key == other.rating_key
return false unless @season_count == other.season_count
return false unless @slug == other.slug
return false unless @summary == other.summary
return false unless @tagline == other.tagline
return false unless @theme == other.theme
return false unless @thumb == other.thumb
return false unless @title == other.title
return false unless @title_sort == other.title_sort
return false unless @type == other.type
return false unless @ultra_blur_colors == other.ultra_blur_colors
return false unless @updated_at == other.updated_at
return false unless @year == other.year
return false unless @audience_rating == other.audience_rating
return false unless @audience_rating_image == other.audience_rating_image
return false unless @chapter == other.chapter
return false unless @chapter_source == other.chapter_source
return false unless @child_count == other.child_count
return false unless @content_rating == other.content_rating
return false unless @country == other.country
return false unless @created_at_accuracy == other.created_at_accuracy
return false unless @created_at_tz_offset == other.created_at_tz_offset
return false unless @director == other.director
return false unless @extras == other.extras
return false unless @genre == other.genre
return false unless @grandparent_art == other.grandparent_art
return false unless @grandparent_guid == other.grandparent_guid
return false unless @grandparent_key == other.grandparent_key
return false unless @grandparent_rating_key == other.grandparent_rating_key
return false unless @grandparent_slug == other.grandparent_slug
return false unless @grandparent_theme == other.grandparent_theme
return false unless @grandparent_thumb == other.grandparent_thumb
return false unless @grandparent_title == other.grandparent_title
return false unless @guids == other.guids
return false unless @index == other.index
return false unless @image == other.image
return false unless @last_rated_at == other.last_rated_at
return false unless @last_viewed_at == other.last_viewed_at
return false unless @leaf_count == other.leaf_count
return false unless @location == other.location
return false unless @marker == other.marker
return false unless @media == other.media
return false unless @originally_available_at == other.originally_available_at
return false unless @original_title == other.original_title
return false unless @parent_guid == other.parent_guid
return false unless @parent_index == other.parent_index
@@ -252,19 +299,21 @@ module PlexRubySDK
return false unless @parent_title == other.parent_title
return false unless @primary_extra_key == other.primary_extra_key
return false unless @producer == other.producer
return false unless @rating == other.rating
return false unless @rating_image == other.rating_image
return false unless @ratings == other.ratings
return false unless @role == other.role
return false unless @similar == other.similar
return false unless @skip_count == other.skip_count
return false unless @slug == other.slug
return false unless @studio == other.studio
return false unless @tagline == other.tagline
return false unless @theme == other.theme
return false unless @subtype == other.subtype
return false unless @ultra_blur_colors == other.ultra_blur_colors
return false unless @updated_at == other.updated_at
return false unless @user_rating == other.user_rating
return false unless @view_count == other.view_count
return false unless @viewed_leaf_count == other.viewed_leaf_count
return false unless @view_offset == other.view_offset
return false unless @writer == other.writer
return false unless @year == other.year
true
end
end

View File

@@ -13,27 +13,27 @@ module PlexRubySDK
extend T::Sig
include Crystalline::MetadataFields
# The filter string for the role.
# The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
# The unique role identifier.
# Unique identifier for the actor or role.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The actor's name.
# The display tag for the actor (typically the actor's name).
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
# A key associated with the actor tag.
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The character name or role.
# The role played by the actor in the media item.
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
# URL for the role thumbnail image.
# A unique key associated with the actor's tag, used for internal identification.
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The URL of the thumbnail image for the actor.
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
sig { params(filter: ::String, id: ::Integer, tag: ::String, role: T.nilable(::String), tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, tag: nil, role: nil, tag_key: nil, thumb: nil)
@filter = filter
@id = id
@tag = tag
@tag_key = tag_key
@role = role
@tag_key = tag_key
@thumb = thumb
end
@@ -42,8 +42,8 @@ module PlexRubySDK
return false unless @filter == other.filter
return false unless @id == other.id
return false unless @tag == other.tag
return false unless @tag_key == other.tag_key
return false unless @role == other.role
return false unless @tag_key == other.tag_key
return false unless @thumb == other.thumb
true
end

View File

@@ -21,10 +21,12 @@ module PlexRubySDK
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
# Unique stream identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# Index of the stream.
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Stream type (1=video, 2=audio, 3=subtitle).
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
# Stream type:
# - 1 = video
# - 2 = audio
# - 3 = subtitle
#
field :stream_type, Models::Operations::GetMediaMetaDataStreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::GetMediaMetaDataStreamType, false) } }
# Audio channel layout.
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
# Bit depth of the video stream.
@@ -77,6 +79,8 @@ module PlexRubySDK
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
# Format of the stream (e.g., srt).
field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } }
# Frame rate of the stream.
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
@@ -87,6 +91,10 @@ module PlexRubySDK
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
# Height of the video stream.
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Index of the stream.
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Key to access this stream part.
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# Language of the stream.
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
# ISO language code.
@@ -113,13 +121,12 @@ module PlexRubySDK
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
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 }
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)
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 }
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)
@codec = codec
@display_title = display_title
@extended_display_title = extended_display_title
@id = id
@index = index
@stream_type = stream_type
@audio_channel_layout = audio_channel_layout
@bit_depth = bit_depth
@@ -147,11 +154,14 @@ module PlexRubySDK
@dub = dub
@embedded_in_video = embedded_in_video
@forced = forced
@format = format
@frame_rate = frame_rate
@has_scaling_matrix = has_scaling_matrix
@header_compression = header_compression
@hearing_impaired = hearing_impaired
@height = height
@index = index
@key = key
@language = language
@language_code = language_code
@language_tag = language_tag
@@ -172,7 +182,6 @@ module PlexRubySDK
return false unless @display_title == other.display_title
return false unless @extended_display_title == other.extended_display_title
return false unless @id == other.id
return false unless @index == other.index
return false unless @stream_type == other.stream_type
return false unless @audio_channel_layout == other.audio_channel_layout
return false unless @bit_depth == other.bit_depth
@@ -200,11 +209,14 @@ module PlexRubySDK
return false unless @dub == other.dub
return false unless @embedded_in_video == other.embedded_in_video
return false unless @forced == other.forced
return false unless @format == other.format
return false unless @frame_rate == other.frame_rate
return false unless @has_scaling_matrix == other.has_scaling_matrix
return false unless @header_compression == other.header_compression
return false unless @hearing_impaired == other.hearing_impaired
return false unless @height == other.height
return false unless @index == other.index
return false unless @key == other.key
return false unless @language == other.language
return false unless @language_code == other.language_code
return false unless @language_tag == other.language_tag

View File

@@ -0,0 +1,25 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# GetMediaMetaDataStreamType - Stream type:
# - 1 = video
# - 2 = audio
# - 3 = subtitle
#
class GetMediaMetaDataStreamType < T::Enum
enums do
VIDEO = new(1)
AUDIO = new(2)
SUBTITLE = new(3)
end
end
end
end
end

View File

@@ -0,0 +1,25 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# GetMediaMetaDataType - The type of media content
#
class GetMediaMetaDataType < T::Enum
enums do
MOVIE = new('movie')
TV_SHOW = new('show')
SEASON = new('season')
EPISODE = new('episode')
ARTIST = new('artist')
ALBUM = new('album')
end
end
end
end
end

View File

@@ -13,13 +13,13 @@ module PlexRubySDK
extend T::Sig
include Crystalline::MetadataFields
# The bottom-left color value.
field :bottom_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomLeft') } }
# The bottom-right color value.
field :bottom_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomRight') } }
# The top-left color value.
field :top_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topLeft') } }
# The top-right color value.
field :top_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topRight') } }

View File

@@ -13,27 +13,24 @@ module PlexRubySDK
extend T::Sig
include Crystalline::MetadataFields
# The filter string for the role.
# The filter string used to query this writer.
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
# The unique role identifier.
# Unique identifier for the writer.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# The actor's name.
# The role of Writer
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
# A key associated with the actor tag.
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The character name or role.
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
# URL for the role thumbnail image.
# A unique key associated with the writers tag, used for internal identification.
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
# The URL of the thumbnail image for the writer.
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: T.nilable(::String), thumb: T.nilable(::String)).void }
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, thumb: nil)
@filter = filter
@id = id
@tag = tag
@tag_key = tag_key
@role = role
@thumb = thumb
end
@@ -43,7 +40,6 @@ module PlexRubySDK
return false unless @id == other.id
return false unless @tag == other.tag
return false unless @tag_key == other.tag_key
return false unless @role == other.role
return false unless @thumb == other.thumb
true
end

View File

@@ -0,0 +1,53 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# The final status of the marker
class Marker
extend T::Sig
include Crystalline::MetadataFields
field :end_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('endTimeOffset') } }
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
field :start_time_offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('startTimeOffset') } }
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
# Attributes associated with the marker.
field :attributes, T.nilable(Models::Operations::Attributes), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Attributes') } }
field :final, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('final') } }
sig { params(end_time_offset: ::Integer, id: ::Integer, start_time_offset: ::Integer, type: ::String, attributes: T.nilable(Models::Operations::Attributes), final: T.nilable(T::Boolean)).void }
def initialize(end_time_offset: nil, id: nil, start_time_offset: nil, type: nil, attributes: nil, final: nil)
@end_time_offset = end_time_offset
@id = id
@start_time_offset = start_time_offset
@type = type
@attributes = attributes
@final = final
end
def ==(other)
return false unless other.is_a? self.class
return false unless @end_time_offset == other.end_time_offset
return false unless @id == other.id
return false unless @start_time_offset == other.start_time_offset
return false unless @type == other.type
return false unless @attributes == other.attributes
return false unless @final == other.final
true
end
end
end
end
end

View File

@@ -21,10 +21,12 @@ module PlexRubySDK
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
# Unique stream identifier.
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
# Index of the stream.
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Stream type (1=video, 2=audio, 3=subtitle).
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
# Stream type:
# - 1 = video
# - 2 = audio
# - 3 = subtitle
#
field :stream_type, Models::Operations::StreamType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType'), 'decoder': Utils.enum_from_string(Models::Operations::StreamType, false) } }
# Audio channel layout.
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
# Bit depth of the video stream.
@@ -77,6 +79,8 @@ module PlexRubySDK
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
# Format of the stream (e.g., srt).
field :format, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('format') } }
# Frame rate of the stream.
field :frame_rate, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('frameRate') } }
@@ -87,6 +91,10 @@ module PlexRubySDK
field :hearing_impaired, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hearingImpaired') } }
# Height of the video stream.
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
# Index of the stream.
field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
# Key to access this stream part.
field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
# Language of the stream.
field :language, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('language') } }
# ISO language code.
@@ -113,13 +121,12 @@ module PlexRubySDK
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
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 }
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)
sig { params(codec: ::String, display_title: ::String, extended_display_title: ::String, id: ::Integer, stream_type: Models::Operations::StreamType, 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 }
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)
@codec = codec
@display_title = display_title
@extended_display_title = extended_display_title
@id = id
@index = index
@stream_type = stream_type
@audio_channel_layout = audio_channel_layout
@bit_depth = bit_depth
@@ -147,11 +154,14 @@ module PlexRubySDK
@dub = dub
@embedded_in_video = embedded_in_video
@forced = forced
@format = format
@frame_rate = frame_rate
@has_scaling_matrix = has_scaling_matrix
@header_compression = header_compression
@hearing_impaired = hearing_impaired
@height = height
@index = index
@key = key
@language = language
@language_code = language_code
@language_tag = language_tag
@@ -172,7 +182,6 @@ module PlexRubySDK
return false unless @display_title == other.display_title
return false unless @extended_display_title == other.extended_display_title
return false unless @id == other.id
return false unless @index == other.index
return false unless @stream_type == other.stream_type
return false unless @audio_channel_layout == other.audio_channel_layout
return false unless @bit_depth == other.bit_depth
@@ -200,11 +209,14 @@ module PlexRubySDK
return false unless @dub == other.dub
return false unless @embedded_in_video == other.embedded_in_video
return false unless @forced == other.forced
return false unless @format == other.format
return false unless @frame_rate == other.frame_rate
return false unless @has_scaling_matrix == other.has_scaling_matrix
return false unless @header_compression == other.header_compression
return false unless @hearing_impaired == other.hearing_impaired
return false unless @height == other.height
return false unless @index == other.index
return false unless @key == other.key
return false unless @language == other.language
return false unless @language_code == other.language_code
return false unless @language_tag == other.language_tag

View File

@@ -0,0 +1,25 @@
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
# typed: true
# frozen_string_literal: true
module PlexRubySDK
module Models
module Operations
# StreamType - Stream type:
# - 1 = video
# - 2 = audio
# - 3 = subtitle
#
class StreamType < T::Enum
enums do
VIDEO = new(1)
AUDIO = new(2)
SUBTITLE = new(3)
end
end
end
end
end