plex_ruby_sdk 0.13.1 → 0.17.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/library.rb +13 -12
- data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_badrequest.rb → get_library_sections_all_badrequest.rb} +3 -3
- data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_errors.rb → get_library_sections_all_errors.rb} +1 -1
- data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_library_errors.rb → get_library_sections_all_library_errors.rb} +1 -1
- data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_unauthorized.rb → get_library_sections_all_unauthorized.rb} +3 -3
- data/lib/plex_ruby_sdk/models/errors.rb +4 -4
- data/lib/plex_ruby_sdk/models/operations/country.rb +8 -6
- data/lib/plex_ruby_sdk/models/operations/director.rb +18 -2
- data/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/genre.rb +3 -1
- data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb +4 -0
- data/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +10 -4
- data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +2 -6
- data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +13 -6
- data/lib/plex_ruby_sdk/models/operations/{mediaguid.rb → get_library_items_guids.rb} +2 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_collection.rb → get_library_items_library_optimizedforstreaming.rb} +5 -9
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +6 -41
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +42 -10
- data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +32 -25
- data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +39 -48
- data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +146 -141
- data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_optimizedforstreaming_1.rb → get_library_items_optimizedforstreaming_1.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +36 -28
- data/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +12 -18
- data/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb +41 -0
- data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +14 -46
- data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_activedirection.rb → get_library_sections_all_activedirection.rb} +2 -2
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_collection.rb → get_library_sections_all_collection.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_country.rb → get_library_sections_all_country.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_activedirection.rb → get_library_sections_all_defaultdirection.rb} +2 -2
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_director.rb → get_library_sections_all_director.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_field.rb → get_library_sections_all_field.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_fieldtype.rb → get_library_sections_all_fieldtype.rb} +3 -3
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_filter.rb → get_library_sections_all_filter.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_genre.rb → get_library_sections_all_genre.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_mediaguid.rb → get_library_sections_all_guids.rb} +2 -3
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_hasthumbnail.rb → get_library_sections_all_hasthumbnail.rb} +2 -2
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_image.rb → get_library_sections_all_image.rb} +3 -3
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_optimizedforstreaming.rb → get_library_sections_all_library_optimizedforstreaming.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_response_type.rb → get_library_sections_all_library_response_type.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_type.rb → get_library_sections_all_library_type.rb} +6 -2
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_media.rb → get_library_sections_all_media.rb} +4 -4
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_mediacontainer.rb → get_library_sections_all_mediacontainer.rb} +13 -13
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_meta.rb → get_library_sections_all_meta.rb} +4 -4
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_metadata.rb → get_library_sections_all_metadata.rb} +18 -18
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_operator.rb → get_library_sections_all_operator.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_optimizedforstreaming.rb → get_library_sections_all_optimizedforstreaming.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb +20 -0
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_1.rb +20 -0
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_part.rb → get_library_sections_all_part.rb} +5 -5
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_queryparam_includemeta.rb → get_library_sections_all_queryparam_includemeta.rb} +2 -2
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_queryparam_type.rb → get_library_sections_all_queryparam_type.rb} +7 -5
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_request.rb → get_library_sections_all_request.rb} +4 -4
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_response.rb → get_library_sections_all_response.rb} +3 -3
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_responsebody.rb → get_library_sections_all_responsebody.rb} +3 -3
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_role.rb → get_library_sections_all_role.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_sort.rb → get_library_sections_all_sort.rb} +4 -4
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_stream.rb → get_library_sections_all_stream.rb} +6 -6
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_type.rb → get_library_sections_all_type.rb} +5 -5
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_ultrablurcolors.rb → get_library_sections_all_ultrablurcolors.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_writer.rb → get_library_sections_all_writer.rb} +1 -1
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb +37 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +8 -6
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +4 -4
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb +33 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +3 -1
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb +53 -0
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +10 -10
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +22 -22
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +16 -15
- data/lib/plex_ruby_sdk/models/operations/{metadatarating.rb → get_media_meta_data_ratings.rb} +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +12 -8
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +18 -18
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb +5 -1
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb +5 -1
- data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +18 -18
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +10 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb +81 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +13 -6
- data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_guids.rb → get_search_all_libraries_guids.rb} +4 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +2 -1
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb +29 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +32 -25
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +32 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +128 -147
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb +20 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb +20 -0
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +36 -28
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +12 -18
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +6 -5
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb +5 -1
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +12 -4
- data/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb +14 -14
- data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → gettopwatchedcontent_queryparam_includeguids.rb} +4 -8
- data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/guids.rb +3 -3
- data/lib/plex_ruby_sdk/models/operations/producer.rb +5 -4
- data/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/rating.rb +1 -1
- data/lib/plex_ruby_sdk/models/operations/role.rb +12 -8
- data/lib/plex_ruby_sdk/models/operations/searchresult.rb +10 -6
- data/lib/plex_ruby_sdk/models/operations/showordering.rb +6 -5
- data/lib/plex_ruby_sdk/models/operations/stream.rb +5 -5
- data/lib/plex_ruby_sdk/models/operations/type.rb +5 -3
- data/lib/plex_ruby_sdk/models/operations/writer.rb +7 -3
- data/lib/plex_ruby_sdk/models/operations.rb +54 -59
- data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
- metadata +57 -62
- data/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +0 -20
- data/lib/plex_ruby_sdk/models/operations/episodesort.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb +0 -37
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb +0 -63
- data/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb +0 -25
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +0 -45
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +0 -49
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +0 -37
- data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb +0 -22
- data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
- data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +0 -25
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +0 -20
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +0 -21
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +0 -41
- data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb +0 -181
@@ -13,8 +13,8 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
#
|
17
|
-
field :rating_key, ::
|
16
|
+
# The id(s) of the library item(s) to return metadata for. Can be a single ID or comma-separated list of IDs.
|
17
|
+
field :rating_key, ::String, { 'path_param': { 'field_name': 'ratingKey', 'style': 'simple', 'explode': false } }
|
18
18
|
# Trigger asynchronous metadata augmentation.
|
19
19
|
field :async_augment_metadata, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'asyncAugmentMetadata', 'style': 'form', 'explode': true } }
|
20
20
|
# Trigger asynchronous file checking.
|
@@ -43,7 +43,7 @@ module PlexRubySDK
|
|
43
43
|
field :include_stations, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeStations', 'style': 'form', 'explode': true } }
|
44
44
|
|
45
45
|
|
46
|
-
sig { params(rating_key: ::
|
46
|
+
sig { params(rating_key: ::String, async_augment_metadata: T.nilable(T::Boolean), async_check_files: T.nilable(T::Boolean), async_refresh_analysis: T.nilable(T::Boolean), async_refresh_local_media_agent: T.nilable(T::Boolean), include_chapters: T.nilable(T::Boolean), include_concerts: T.nilable(T::Boolean), include_external_media: T.nilable(T::Boolean), include_extras: T.nilable(T::Boolean), include_on_deck: T.nilable(T::Boolean), include_popular_leaves: T.nilable(T::Boolean), include_preferences: T.nilable(T::Boolean), include_reviews: T.nilable(T::Boolean), include_stations: T.nilable(T::Boolean)).void }
|
47
47
|
def initialize(rating_key: nil, async_augment_metadata: nil, async_check_files: nil, async_refresh_analysis: nil, async_refresh_local_media_agent: nil, include_chapters: nil, include_concerts: nil, include_external_media: nil, include_extras: nil, include_on_deck: nil, include_popular_leaves: nil, include_preferences: nil, include_reviews: nil, include_stations: nil)
|
48
48
|
@rating_key = rating_key
|
49
49
|
@async_augment_metadata = async_augment_metadata
|
@@ -15,25 +15,29 @@ module PlexRubySDK
|
|
15
15
|
|
16
16
|
# The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
|
17
17
|
field :filter, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
18
|
-
#
|
18
|
+
# The unique identifier for the role.
|
19
|
+
# NOTE: This is different for each Plex server and is not globally unique.
|
20
|
+
#
|
19
21
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
22
|
# The display tag for the actor (typically the actor's name).
|
21
23
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
24
|
+
# A 24-character hexadecimal unique key associated with the actor's tag, used for internal identification.
|
25
|
+
# NOTE: This is globally unique across all Plex Servers.
|
26
|
+
#
|
27
|
+
field :tag_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
22
28
|
# The role played by the actor in the media item.
|
23
29
|
field :role, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('role') } }
|
24
|
-
#
|
25
|
-
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
26
|
-
# The URL of the thumbnail image for the actor.
|
30
|
+
# The absolute URL of the thumbnail image for the actor.
|
27
31
|
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
28
32
|
|
29
33
|
|
30
|
-
sig { params(filter: ::String, id: ::Integer, tag: ::String,
|
31
|
-
def initialize(filter: nil, id: nil, tag: nil,
|
34
|
+
sig { params(filter: ::String, id: ::Integer, tag: ::String, tag_key: ::String, role: T.nilable(::String), thumb: T.nilable(::String)).void }
|
35
|
+
def initialize(filter: nil, id: nil, tag: nil, tag_key: nil, role: nil, thumb: nil)
|
32
36
|
@filter = filter
|
33
37
|
@id = id
|
34
38
|
@tag = tag
|
35
|
-
@role = role
|
36
39
|
@tag_key = tag_key
|
40
|
+
@role = role
|
37
41
|
@thumb = thumb
|
38
42
|
end
|
39
43
|
|
@@ -42,8 +46,8 @@ module PlexRubySDK
|
|
42
46
|
return false unless @filter == other.filter
|
43
47
|
return false unless @id == other.id
|
44
48
|
return false unless @tag == other.tag
|
45
|
-
return false unless @role == other.role
|
46
49
|
return false unless @tag_key == other.tag_key
|
50
|
+
return false unless @role == other.role
|
47
51
|
return false unless @thumb == other.thumb
|
48
52
|
true
|
49
53
|
end
|
@@ -13,20 +13,14 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
# Codec used by the stream.
|
17
|
-
field :codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
|
18
|
-
# Display title for the stream.
|
19
|
-
field :display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
|
20
|
-
# Extended display title for the stream.
|
21
|
-
field :extended_display_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
|
22
16
|
# Unique stream identifier.
|
23
17
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
24
18
|
# Stream type:
|
25
|
-
# -
|
26
|
-
# -
|
27
|
-
# -
|
19
|
+
# - VIDEO = 1
|
20
|
+
# - AUDIO = 2
|
21
|
+
# - SUBTITLE = 3
|
28
22
|
#
|
29
|
-
field :stream_type,
|
23
|
+
field :stream_type, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('streamType') } }
|
30
24
|
# Audio channel layout.
|
31
25
|
field :audio_channel_layout, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannelLayout') } }
|
32
26
|
# Bit depth of the video stream.
|
@@ -43,6 +37,8 @@ module PlexRubySDK
|
|
43
37
|
field :chroma_subsampling, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chromaSubsampling') } }
|
44
38
|
|
45
39
|
field :closed_captions, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('closedCaptions') } }
|
40
|
+
# Codec used by the stream.
|
41
|
+
field :codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('codec') } }
|
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.
|
@@ -57,6 +53,8 @@ module PlexRubySDK
|
|
57
53
|
field :color_trc, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('colorTrc') } }
|
58
54
|
# Indicates if this stream is default.
|
59
55
|
field :default, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } }
|
56
|
+
# Display title for the stream.
|
57
|
+
field :display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayTitle') } }
|
60
58
|
# Dolby Vision BL compatibility ID.
|
61
59
|
field :dovibl_compat_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('DOVIBLCompatID') } }
|
62
60
|
# Indicates if Dolby Vision BL is present.
|
@@ -77,6 +75,8 @@ module PlexRubySDK
|
|
77
75
|
field :dub, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('dub') } }
|
78
76
|
|
79
77
|
field :embedded_in_video, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('embeddedInVideo') } }
|
78
|
+
# Extended display title for the stream.
|
79
|
+
field :extended_display_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('extendedDisplayTitle') } }
|
80
80
|
|
81
81
|
field :forced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('forced') } }
|
82
82
|
# Format of the stream (e.g., srt).
|
@@ -121,11 +121,8 @@ module PlexRubySDK
|
|
121
121
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
122
122
|
|
123
123
|
|
124
|
-
sig { params(
|
125
|
-
def initialize(
|
126
|
-
@codec = codec
|
127
|
-
@display_title = display_title
|
128
|
-
@extended_display_title = extended_display_title
|
124
|
+
sig { params(id: ::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), codec: T.nilable(::String), coded_height: T.nilable(::Integer), coded_width: T.nilable(::Integer), color_primaries: T.nilable(::String), color_range: T.nilable(::String), color_space: T.nilable(::String), color_trc: T.nilable(::String), default: T.nilable(T::Boolean), display_title: T.nilable(::String), 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), extended_display_title: T.nilable(::String), forced: T.nilable(T::Boolean), format: T.nilable(::String), frame_rate: T.nilable(::Float), has_scaling_matrix: T.nilable(T::Boolean), header_compression: T.nilable(T::Boolean), hearing_impaired: T.nilable(T::Boolean), height: T.nilable(::Integer), index: T.nilable(::Integer), key: T.nilable(::String), language: T.nilable(::String), language_code: T.nilable(::String), language_tag: T.nilable(::String), level: T.nilable(::Integer), original: T.nilable(T::Boolean), profile: T.nilable(::String), ref_frames: T.nilable(::Integer), sampling_rate: T.nilable(::Integer), scan_type: T.nilable(::String), selected: T.nilable(T::Boolean), title: T.nilable(::String), width: T.nilable(::Integer)).void }
|
125
|
+
def initialize(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, codec: nil, coded_height: nil, coded_width: nil, color_primaries: nil, color_range: nil, color_space: nil, color_trc: nil, default: nil, display_title: 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, extended_display_title: 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)
|
129
126
|
@id = id
|
130
127
|
@stream_type = stream_type
|
131
128
|
@audio_channel_layout = audio_channel_layout
|
@@ -136,6 +133,7 @@ module PlexRubySDK
|
|
136
133
|
@chroma_location = chroma_location
|
137
134
|
@chroma_subsampling = chroma_subsampling
|
138
135
|
@closed_captions = closed_captions
|
136
|
+
@codec = codec
|
139
137
|
@coded_height = coded_height
|
140
138
|
@coded_width = coded_width
|
141
139
|
@color_primaries = color_primaries
|
@@ -143,6 +141,7 @@ module PlexRubySDK
|
|
143
141
|
@color_space = color_space
|
144
142
|
@color_trc = color_trc
|
145
143
|
@default = default
|
144
|
+
@display_title = display_title
|
146
145
|
@dovibl_compat_id = dovibl_compat_id
|
147
146
|
@dovibl_present = dovibl_present
|
148
147
|
@doviel_present = doviel_present
|
@@ -153,6 +152,7 @@ module PlexRubySDK
|
|
153
152
|
@dovi_version = dovi_version
|
154
153
|
@dub = dub
|
155
154
|
@embedded_in_video = embedded_in_video
|
155
|
+
@extended_display_title = extended_display_title
|
156
156
|
@forced = forced
|
157
157
|
@format = format
|
158
158
|
@frame_rate = frame_rate
|
@@ -178,9 +178,6 @@ module PlexRubySDK
|
|
178
178
|
|
179
179
|
def ==(other)
|
180
180
|
return false unless other.is_a? self.class
|
181
|
-
return false unless @codec == other.codec
|
182
|
-
return false unless @display_title == other.display_title
|
183
|
-
return false unless @extended_display_title == other.extended_display_title
|
184
181
|
return false unless @id == other.id
|
185
182
|
return false unless @stream_type == other.stream_type
|
186
183
|
return false unless @audio_channel_layout == other.audio_channel_layout
|
@@ -191,6 +188,7 @@ module PlexRubySDK
|
|
191
188
|
return false unless @chroma_location == other.chroma_location
|
192
189
|
return false unless @chroma_subsampling == other.chroma_subsampling
|
193
190
|
return false unless @closed_captions == other.closed_captions
|
191
|
+
return false unless @codec == other.codec
|
194
192
|
return false unless @coded_height == other.coded_height
|
195
193
|
return false unless @coded_width == other.coded_width
|
196
194
|
return false unless @color_primaries == other.color_primaries
|
@@ -198,6 +196,7 @@ module PlexRubySDK
|
|
198
196
|
return false unless @color_space == other.color_space
|
199
197
|
return false unless @color_trc == other.color_trc
|
200
198
|
return false unless @default == other.default
|
199
|
+
return false unless @display_title == other.display_title
|
201
200
|
return false unless @dovibl_compat_id == other.dovibl_compat_id
|
202
201
|
return false unless @dovibl_present == other.dovibl_present
|
203
202
|
return false unless @doviel_present == other.doviel_present
|
@@ -208,6 +207,7 @@ module PlexRubySDK
|
|
208
207
|
return false unless @dovi_version == other.dovi_version
|
209
208
|
return false unless @dub == other.dub
|
210
209
|
return false unless @embedded_in_video == other.embedded_in_video
|
210
|
+
return false unless @extended_display_title == other.extended_display_title
|
211
211
|
return false unless @forced == other.forced
|
212
212
|
return false unless @format == other.format
|
213
213
|
return false unless @frame_rate == other.frame_rate
|
@@ -8,7 +8,7 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
# GetMediaMetaDataType - The type of media content
|
11
|
+
# GetMediaMetaDataType - The type of media content in the Plex library. This can represent videos, music, or photos.
|
12
12
|
#
|
13
13
|
class GetMediaMetaDataType < T::Enum
|
14
14
|
enums do
|
@@ -18,6 +18,10 @@ module PlexRubySDK
|
|
18
18
|
EPISODE = new('episode')
|
19
19
|
ARTIST = new('artist')
|
20
20
|
ALBUM = new('album')
|
21
|
+
TRACK = new('track')
|
22
|
+
PHOTO_ALBUM = new('photoalbum')
|
23
|
+
PHOTO = new('photo')
|
24
|
+
COLLECTION = new('collection')
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
@@ -19,9 +19,9 @@ module PlexRubySDK
|
|
19
19
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
20
|
# The role of Writer
|
21
21
|
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
22
|
-
# A unique key associated with the
|
22
|
+
# A 24-character hexadecimal unique key associated with the writer’s tag, used for internal identification.
|
23
23
|
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
24
|
-
# The URL of the thumbnail image for the writer.
|
24
|
+
# The absolute URL of the thumbnail image for the writer.
|
25
25
|
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
26
26
|
|
27
27
|
|
@@ -8,7 +8,7 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
# GetRecentlyAddedHubsType - The type of media content
|
11
|
+
# GetRecentlyAddedHubsType - The type of media content in the Plex library. This can represent videos, music, or photos.
|
12
12
|
#
|
13
13
|
class GetRecentlyAddedHubsType < T::Enum
|
14
14
|
enums do
|
@@ -18,6 +18,10 @@ module PlexRubySDK
|
|
18
18
|
EPISODE = new('episode')
|
19
19
|
ARTIST = new('artist')
|
20
20
|
ALBUM = new('album')
|
21
|
+
TRACK = new('track')
|
22
|
+
PHOTO_ALBUM = new('photoalbum')
|
23
|
+
PHOTO = new('photo')
|
24
|
+
COLLECTION = new('collection')
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
@@ -30,14 +30,6 @@ module PlexRubySDK
|
|
30
30
|
field :index, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } }
|
31
31
|
# The unique key for the media item.
|
32
32
|
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
|
33
|
-
# The identifier for the library section.
|
34
|
-
field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
|
35
|
-
# The key corresponding to the library section.
|
36
|
-
field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
|
37
|
-
# The title of the library section.
|
38
|
-
field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
|
39
|
-
# The original release date of the media item.
|
40
|
-
field :originally_available_at, ::Date, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(false) } }
|
41
33
|
# The studio of the parent media item.
|
42
34
|
field :parent_studio, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } }
|
43
35
|
# The theme URL for the parent media item.
|
@@ -108,10 +100,18 @@ module PlexRubySDK
|
|
108
100
|
field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } }
|
109
101
|
# The number of leaf items (end nodes) under this media item.
|
110
102
|
field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } }
|
103
|
+
# The identifier for the library section.
|
104
|
+
field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
|
105
|
+
# The key corresponding to the library section.
|
106
|
+
field :library_section_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
|
107
|
+
# The title of the library section.
|
108
|
+
field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
|
111
109
|
|
112
110
|
field :location, T.nilable(T::Array[Models::Operations::Location]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Location') } }
|
113
111
|
|
114
112
|
field :media, T.nilable(T::Array[Models::Operations::Media]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } }
|
113
|
+
# The original release date of the media item.
|
114
|
+
field :originally_available_at, T.nilable(::Date), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originallyAvailableAt'), 'decoder': Utils.date_from_iso_format(true) } }
|
115
115
|
# The original title of the media item (if different).
|
116
116
|
field :original_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('originalTitle') } }
|
117
117
|
# The GUID of the parent media item.
|
@@ -166,8 +166,8 @@ module PlexRubySDK
|
|
166
166
|
field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } }
|
167
167
|
|
168
168
|
|
169
|
-
sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String,
|
170
|
-
def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil,
|
169
|
+
sig { params(added_at: ::Integer, art: ::String, audience_rating: ::Float, child_count: ::Integer, duration: ::Integer, guid: ::String, index: ::Integer, key: ::String, parent_studio: ::String, parent_theme: ::String, 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::GetRecentlyAddedHubsType, audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), collection: T.nilable(T::Array[Models::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[Models::Operations::Country]), created_at_accuracy: T.nilable(::String), created_at_tz_offset: T.nilable(::String), director: T.nilable(T::Array[Models::Operations::Director]), genre: T.nilable(T::Array[Models::Operations::Genre]), 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::Guids]), image: T.nilable(T::Array[Models::Operations::GetRecentlyAddedImage]), last_rated_at: 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[Models::Operations::Location]), media: T.nilable(T::Array[Models::Operations::Media]), 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_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), producer: T.nilable(T::Array[Models::Operations::Producer]), rating1: T.nilable(T::Array[Models::Operations::Rating]), rating_image: T.nilable(::String), role: T.nilable(T::Array[Models::Operations::Role]), similar: T.nilable(T::Array[Models::Operations::Similar]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), subtype: T.nilable(::String), ultra_blur_colors: T.nilable(Models::Operations::UltraBlurColors), 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::Writer]), year: T.nilable(::Integer)).void }
|
170
|
+
def initialize(added_at: nil, art: nil, audience_rating: nil, child_count: nil, duration: nil, guid: nil, index: nil, key: nil, parent_studio: nil, parent_theme: 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, library_section_id: nil, library_section_key: nil, library_section_title: 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_slug: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, producer: nil, rating1: nil, rating_image: 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)
|
171
171
|
@added_at = added_at
|
172
172
|
@art = art
|
173
173
|
@audience_rating = audience_rating
|
@@ -176,10 +176,6 @@ module PlexRubySDK
|
|
176
176
|
@guid = guid
|
177
177
|
@index = index
|
178
178
|
@key = key
|
179
|
-
@library_section_id = library_section_id
|
180
|
-
@library_section_key = library_section_key
|
181
|
-
@library_section_title = library_section_title
|
182
|
-
@originally_available_at = originally_available_at
|
183
179
|
@parent_studio = parent_studio
|
184
180
|
@parent_theme = parent_theme
|
185
181
|
@rating = rating
|
@@ -215,8 +211,12 @@ module PlexRubySDK
|
|
215
211
|
@last_rated_at = last_rated_at
|
216
212
|
@last_viewed_at = last_viewed_at
|
217
213
|
@leaf_count = leaf_count
|
214
|
+
@library_section_id = library_section_id
|
215
|
+
@library_section_key = library_section_key
|
216
|
+
@library_section_title = library_section_title
|
218
217
|
@location = location
|
219
218
|
@media = media
|
219
|
+
@originally_available_at = originally_available_at
|
220
220
|
@original_title = original_title
|
221
221
|
@parent_guid = parent_guid
|
222
222
|
@parent_index = parent_index
|
@@ -255,10 +255,6 @@ module PlexRubySDK
|
|
255
255
|
return false unless @guid == other.guid
|
256
256
|
return false unless @index == other.index
|
257
257
|
return false unless @key == other.key
|
258
|
-
return false unless @library_section_id == other.library_section_id
|
259
|
-
return false unless @library_section_key == other.library_section_key
|
260
|
-
return false unless @library_section_title == other.library_section_title
|
261
|
-
return false unless @originally_available_at == other.originally_available_at
|
262
258
|
return false unless @parent_studio == other.parent_studio
|
263
259
|
return false unless @parent_theme == other.parent_theme
|
264
260
|
return false unless @rating == other.rating
|
@@ -294,8 +290,12 @@ module PlexRubySDK
|
|
294
290
|
return false unless @last_rated_at == other.last_rated_at
|
295
291
|
return false unless @last_viewed_at == other.last_viewed_at
|
296
292
|
return false unless @leaf_count == other.leaf_count
|
293
|
+
return false unless @library_section_id == other.library_section_id
|
294
|
+
return false unless @library_section_key == other.library_section_key
|
295
|
+
return false unless @library_section_title == other.library_section_title
|
297
296
|
return false unless @location == other.location
|
298
297
|
return false unless @media == other.media
|
298
|
+
return false unless @originally_available_at == other.originally_available_at
|
299
299
|
return false unless @original_title == other.original_title
|
300
300
|
return false unless @parent_guid == other.parent_guid
|
301
301
|
return false unless @parent_index == other.parent_index
|
@@ -13,17 +13,23 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
+
# The unique identifier for the country.
|
17
|
+
# NOTE: This is different for each Plex server and is not globally unique.
|
18
|
+
#
|
19
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
|
+
# The country of origin of this media item
|
21
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
16
22
|
|
17
|
-
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
18
23
|
|
19
|
-
|
20
|
-
|
21
|
-
|
24
|
+
sig { params(id: ::Integer, tag: ::String).void }
|
25
|
+
def initialize(id: nil, tag: nil)
|
26
|
+
@id = id
|
22
27
|
@tag = tag
|
23
28
|
end
|
24
29
|
|
25
30
|
def ==(other)
|
26
31
|
return false unless other.is_a? self.class
|
32
|
+
return false unless @id == other.id
|
27
33
|
return false unless @tag == other.tag
|
28
34
|
true
|
29
35
|
end
|
@@ -13,18 +13,26 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
+
# Unique identifier for the director.
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The role of Director
|
19
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
20
|
+
# The absolute URL of the thumbnail image for the director.
|
21
|
+
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
16
22
|
|
17
|
-
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
18
23
|
|
19
|
-
|
20
|
-
|
21
|
-
|
24
|
+
sig { params(id: ::Integer, tag: ::String, thumb: T.nilable(::String)).void }
|
25
|
+
def initialize(id: nil, tag: nil, thumb: nil)
|
26
|
+
@id = id
|
22
27
|
@tag = tag
|
28
|
+
@thumb = thumb
|
23
29
|
end
|
24
30
|
|
25
31
|
def ==(other)
|
26
32
|
return false unless other.is_a? self.class
|
33
|
+
return false unless @id == other.id
|
27
34
|
return false unless @tag == other.tag
|
35
|
+
return false unless @thumb == other.thumb
|
28
36
|
true
|
29
37
|
end
|
30
38
|
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module PlexRubySDK
|
8
|
+
module Models
|
9
|
+
module Operations
|
10
|
+
|
11
|
+
|
12
|
+
class GetSearchAllLibrariesDirectory
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
|
17
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
18
|
+
# The unique identifier path for the search result item.
|
19
|
+
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
|
20
|
+
# The identifier for the library section.
|
21
|
+
field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
|
22
|
+
# The key corresponding to the library section.
|
23
|
+
field :library_section_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionKey') } }
|
24
|
+
# The title of the library section.
|
25
|
+
field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
|
26
|
+
|
27
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
28
|
+
# The type of the directory.
|
29
|
+
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
|
30
|
+
# The number of items associated with this search result.
|
31
|
+
field :count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('count') } }
|
32
|
+
# The filter string used to query this specific item in the library.
|
33
|
+
field :filter, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('filter') } }
|
34
|
+
|
35
|
+
field :library_section_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionType') } }
|
36
|
+
# The unique identifier for the tag associated with this search result.
|
37
|
+
field :tag_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagKey') } }
|
38
|
+
# The type of tag associated with this search result (e.g., Director, Actor).
|
39
|
+
field :tag_type, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagType') } }
|
40
|
+
# The URL to the thumbnail image associated with this search result.
|
41
|
+
field :thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
|
42
|
+
|
43
|
+
|
44
|
+
sig { params(id: ::Integer, key: ::String, library_section_id: ::Integer, library_section_key: ::String, library_section_title: ::String, tag: ::String, type: ::String, count: T.nilable(::Integer), filter: T.nilable(::String), library_section_type: T.nilable(::Integer), tag_key: T.nilable(::String), tag_type: T.nilable(::Integer), thumb: T.nilable(::String)).void }
|
45
|
+
def initialize(id: nil, key: nil, library_section_id: nil, library_section_key: nil, library_section_title: nil, tag: nil, type: nil, count: nil, filter: nil, library_section_type: nil, tag_key: nil, tag_type: nil, thumb: nil)
|
46
|
+
@id = id
|
47
|
+
@key = key
|
48
|
+
@library_section_id = library_section_id
|
49
|
+
@library_section_key = library_section_key
|
50
|
+
@library_section_title = library_section_title
|
51
|
+
@tag = tag
|
52
|
+
@type = type
|
53
|
+
@count = count
|
54
|
+
@filter = filter
|
55
|
+
@library_section_type = library_section_type
|
56
|
+
@tag_key = tag_key
|
57
|
+
@tag_type = tag_type
|
58
|
+
@thumb = thumb
|
59
|
+
end
|
60
|
+
|
61
|
+
def ==(other)
|
62
|
+
return false unless other.is_a? self.class
|
63
|
+
return false unless @id == other.id
|
64
|
+
return false unless @key == other.key
|
65
|
+
return false unless @library_section_id == other.library_section_id
|
66
|
+
return false unless @library_section_key == other.library_section_key
|
67
|
+
return false unless @library_section_title == other.library_section_title
|
68
|
+
return false unless @tag == other.tag
|
69
|
+
return false unless @type == other.type
|
70
|
+
return false unless @count == other.count
|
71
|
+
return false unless @filter == other.filter
|
72
|
+
return false unless @library_section_type == other.library_section_type
|
73
|
+
return false unless @tag_key == other.tag_key
|
74
|
+
return false unless @tag_type == other.tag_type
|
75
|
+
return false unless @thumb == other.thumb
|
76
|
+
true
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -9,6 +9,7 @@ module PlexRubySDK
|
|
9
9
|
module Operations
|
10
10
|
|
11
11
|
# GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
|
12
|
+
#
|
12
13
|
class GetSearchAllLibrariesFlattenSeasons < T::Enum
|
13
14
|
enums do
|
14
15
|
LIBRARY_DEFAULT = new('-1')
|
@@ -13,17 +13,24 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
# The unique identifier for the genre.
|
17
|
+
# NOTE: This is different for each Plex server and is not globally unique.
|
18
|
+
#
|
19
|
+
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
|
+
# The genre name of this media-item
|
21
|
+
#
|
22
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
23
|
+
|
24
|
+
|
25
|
+
sig { params(id: ::Integer, tag: ::String).void }
|
26
|
+
def initialize(id: nil, tag: nil)
|
27
|
+
@id = id
|
22
28
|
@tag = tag
|
23
29
|
end
|
24
30
|
|
25
31
|
def ==(other)
|
26
32
|
return false unless other.is_a? self.class
|
33
|
+
return false unless @id == other.id
|
27
34
|
return false unless @tag == other.tag
|
28
35
|
true
|
29
36
|
end
|
@@ -9,16 +9,16 @@ module PlexRubySDK
|
|
9
9
|
module Operations
|
10
10
|
|
11
11
|
|
12
|
-
class
|
12
|
+
class GetSearchAllLibrariesGuids
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
# The unique identifier for the Guid. Can be imdb
|
16
|
+
# The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
|
17
17
|
#
|
18
|
-
field :id,
|
18
|
+
field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
19
19
|
|
20
20
|
|
21
|
-
sig { params(id:
|
21
|
+
sig { params(id: ::String).void }
|
22
22
|
def initialize(id: nil)
|
23
23
|
@id = id
|
24
24
|
end
|
data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
|
7
|
+
module PlexRubySDK
|
8
|
+
module Models
|
9
|
+
module Operations
|
10
|
+
|
11
|
+
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
12
|
+
#
|
13
|
+
class GetSearchAllLibrariesLibraryOptimizedForStreaming
|
14
|
+
extend T::Sig
|
15
|
+
include Crystalline::MetadataFields
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
def initialize; end
|
21
|
+
|
22
|
+
def ==(other)
|
23
|
+
return false unless other.is_a? self.class
|
24
|
+
true
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -8,16 +8,16 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
|
11
|
+
# The folder path for the media item.
|
12
12
|
class GetSearchAllLibrariesLocation
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
16
|
|
17
|
-
field :path,
|
17
|
+
field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
|
18
18
|
|
19
19
|
|
20
|
-
sig { params(path:
|
20
|
+
sig { params(path: ::String).void }
|
21
21
|
def initialize(path: nil)
|
22
22
|
@path = path
|
23
23
|
end
|