plex_ruby_sdk 0.15.0 → 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/models/operations/flattenseasons.rb +1 -0
- data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
- 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 -14
- 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_library_items_library_response_200_type.rb → get_library_items_optimizedforstreaming_1.rb} +3 -5
- 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_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_library_sections_all_media.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb +10 -10
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb +6 -6
- data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → get_library_sections_all_optimizedforstreaming_library_1.rb} +4 -9
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb +2 -2
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb +5 -5
- 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_extras.rb +33 -0
- 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_stream.rb +18 -18
- 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_search_all_libraries_mediaguid.rb → get_search_all_libraries_guids.rb} +2 -3
- 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_writer.rb +12 -4
- 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.rb +18 -24
- data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
- metadata +18 -24
- 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_library_items_library_activedirection.rb +0 -21
- 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_fieldtype.rb +0 -37
- 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_sort.rb +0 -63
- data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
- data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb +0 -25
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28e62698db1042bb234e09cc684042409b65085557b4e6b61c97b2d372c99a0f
|
4
|
+
data.tar.gz: 621f3865c60fd10f01da93c66d4b0885612e2b025cfddacbbcd93ce87b6a08f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6295288630383e81cb9fe255137a21f753678ee32f1b9342f373f3fb50a45a2c548622c61b7c1132aed81b80b9da2d1793a2861fbeec82ebf135d86d5d9d4e21
|
7
|
+
data.tar.gz: 7cf297c2d1ac6875b9e405d4f2905d4905f06bacc708c22bd4ae15595e160ca7c436796d128b0d74afbd99cd16d6756996a0b7c094f5caae198d96b8999d517f
|
@@ -35,14 +35,14 @@ module PlexRubySDK
|
|
35
35
|
field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } }
|
36
36
|
# Identifier for the view group layout.
|
37
37
|
field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } }
|
38
|
-
# Identifier for the view mode.
|
39
|
-
field :view_mode, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } }
|
40
38
|
# An array of actor entries for media items.
|
41
39
|
field :directory, T.nilable(T::Array[Models::Operations::GetActorsLibraryDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } }
|
40
|
+
# Identifier for the view mode.
|
41
|
+
field :view_mode, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } }
|
42
42
|
|
43
43
|
|
44
|
-
sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String,
|
45
|
-
def initialize(allow_sync: nil, art: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil,
|
44
|
+
sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, nocache: T::Boolean, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, directory: T.nilable(T::Array[Models::Operations::GetActorsLibraryDirectory]), view_mode: T.nilable(::String)).void }
|
45
|
+
def initialize(allow_sync: nil, art: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, nocache: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, directory: nil, view_mode: nil)
|
46
46
|
@allow_sync = allow_sync
|
47
47
|
@art = art
|
48
48
|
@identifier = identifier
|
@@ -54,8 +54,8 @@ module PlexRubySDK
|
|
54
54
|
@title1 = title1
|
55
55
|
@title2 = title2
|
56
56
|
@view_group = view_group
|
57
|
-
@view_mode = view_mode
|
58
57
|
@directory = directory
|
58
|
+
@view_mode = view_mode
|
59
59
|
end
|
60
60
|
|
61
61
|
def ==(other)
|
@@ -71,8 +71,8 @@ module PlexRubySDK
|
|
71
71
|
return false unless @title1 == other.title1
|
72
72
|
return false unless @title2 == other.title2
|
73
73
|
return false unless @view_group == other.view_group
|
74
|
-
return false unless @view_mode == other.view_mode
|
75
74
|
return false unless @directory == other.directory
|
75
|
+
return false unless @view_mode == other.view_mode
|
76
76
|
true
|
77
77
|
end
|
78
78
|
end
|
@@ -13,11 +13,11 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
+
# The user-made collection this media item belongs to
|
17
|
+
field :tag, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
16
18
|
|
17
|
-
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
18
19
|
|
19
|
-
|
20
|
-
sig { params(tag: T.nilable(::String)).void }
|
20
|
+
sig { params(tag: ::String).void }
|
21
21
|
def initialize(tag: nil)
|
22
22
|
@tag = tag
|
23
23
|
end
|
@@ -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
|
@@ -24,17 +24,14 @@ module PlexRubySDK
|
|
24
24
|
|
25
25
|
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
|
26
26
|
|
27
|
-
field :advanced, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('advanced') } }
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil, advanced: nil)
|
28
|
+
sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String).void }
|
29
|
+
def initialize(filter: nil, filter_type: nil, key: nil, title: nil, type: nil)
|
32
30
|
@filter = filter
|
33
31
|
@filter_type = filter_type
|
34
32
|
@key = key
|
35
33
|
@title = title
|
36
34
|
@type = type
|
37
|
-
@advanced = advanced
|
38
35
|
end
|
39
36
|
|
40
37
|
def ==(other)
|
@@ -44,7 +41,6 @@ module PlexRubySDK
|
|
44
41
|
return false unless @key == other.key
|
45
42
|
return false unless @title == other.title
|
46
43
|
return false unless @type == other.type
|
47
|
-
return false unless @advanced == other.advanced
|
48
44
|
true
|
49
45
|
end
|
50
46
|
end
|
@@ -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,12 +9,11 @@ module PlexRubySDK
|
|
9
9
|
module Operations
|
10
10
|
|
11
11
|
|
12
|
-
class
|
12
|
+
class GetLibraryItemsGuids
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
# Can be
|
17
|
-
# imdb://tt13015952, tmdb://2434012, tvdb://7945991
|
16
|
+
# The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
|
18
17
|
#
|
19
18
|
field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
19
|
|
@@ -16,12 +16,12 @@ module PlexRubySDK
|
|
16
16
|
|
17
17
|
field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } }
|
18
18
|
|
19
|
-
field :type, Models::Operations::
|
19
|
+
field :type, Models::Operations::GetLibraryItemsLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryResponseType, false) } }
|
20
20
|
|
21
21
|
field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } }
|
22
22
|
|
23
23
|
|
24
|
-
sig { params(alt: ::String, type: Models::Operations::
|
24
|
+
sig { params(alt: ::String, type: Models::Operations::GetLibraryItemsLibraryResponseType, url: ::String).void }
|
25
25
|
def initialize(alt: nil, type: nil, url: nil)
|
26
26
|
@alt = alt
|
27
27
|
@type = type
|
@@ -8,23 +8,19 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
12
|
+
#
|
13
|
+
class GetLibraryItemsLibraryOptimizedForStreaming
|
13
14
|
extend T::Sig
|
14
15
|
include Crystalline::MetadataFields
|
15
16
|
|
16
17
|
|
17
|
-
field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
|
18
|
-
|
19
18
|
|
20
|
-
|
21
|
-
def initialize
|
22
|
-
@tag = tag
|
23
|
-
end
|
19
|
+
|
20
|
+
def initialize; end
|
24
21
|
|
25
22
|
def ==(other)
|
26
23
|
return false unless other.is_a? self.class
|
27
|
-
return false unless @tag == other.tag
|
28
24
|
true
|
29
25
|
end
|
30
26
|
end
|
@@ -9,47 +9,12 @@ module PlexRubySDK
|
|
9
9
|
module Operations
|
10
10
|
|
11
11
|
|
12
|
-
class GetLibraryItemsLibraryResponseType
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
|
20
|
-
|
21
|
-
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
|
22
|
-
|
23
|
-
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
|
24
|
-
|
25
|
-
field :field, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } }
|
26
|
-
|
27
|
-
field :filter, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } }
|
28
|
-
|
29
|
-
field :sort, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibrarySort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
|
30
|
-
|
31
|
-
|
32
|
-
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryField]), filter: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibrarySort])).void }
|
33
|
-
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
|
34
|
-
@active = active
|
35
|
-
@key = key
|
36
|
-
@title = title
|
37
|
-
@type = type
|
38
|
-
@field = field
|
39
|
-
@filter = filter
|
40
|
-
@sort = sort
|
41
|
-
end
|
42
|
-
|
43
|
-
def ==(other)
|
44
|
-
return false unless other.is_a? self.class
|
45
|
-
return false unless @active == other.active
|
46
|
-
return false unless @key == other.key
|
47
|
-
return false unless @title == other.title
|
48
|
-
return false unless @type == other.type
|
49
|
-
return false unless @field == other.field
|
50
|
-
return false unless @filter == other.filter
|
51
|
-
return false unless @sort == other.sort
|
52
|
-
true
|
12
|
+
class GetLibraryItemsLibraryResponseType < T::Enum
|
13
|
+
enums do
|
14
|
+
COVER_POSTER = new('coverPoster')
|
15
|
+
BACKGROUND = new('background')
|
16
|
+
SNAPSHOT = new('snapshot')
|
17
|
+
CLEAR_LOGO = new('clearLogo')
|
53
18
|
end
|
54
19
|
end
|
55
20
|
end
|
@@ -8,20 +8,48 @@ module PlexRubySDK
|
|
8
8
|
module Models
|
9
9
|
module Operations
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
11
|
+
|
12
|
+
class GetLibraryItemsLibraryType
|
13
|
+
extend T::Sig
|
14
|
+
include Crystalline::MetadataFields
|
15
|
+
|
16
|
+
|
17
|
+
field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } }
|
18
|
+
|
19
|
+
field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } }
|
20
|
+
|
21
|
+
field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } }
|
22
|
+
|
23
|
+
field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } }
|
24
|
+
|
25
|
+
field :field, T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } }
|
26
|
+
|
27
|
+
field :filter, T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } }
|
28
|
+
|
29
|
+
field :sort, T.nilable(T::Array[Models::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } }
|
30
|
+
|
31
|
+
|
32
|
+
sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[Models::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[Models::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[Models::Operations::GetLibraryItemsSort])).void }
|
33
|
+
def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil)
|
34
|
+
@active = active
|
35
|
+
@key = key
|
36
|
+
@title = title
|
37
|
+
@type = type
|
38
|
+
@field = field
|
39
|
+
@filter = filter
|
40
|
+
@sort = sort
|
41
|
+
end
|
42
|
+
|
43
|
+
def ==(other)
|
44
|
+
return false unless other.is_a? self.class
|
45
|
+
return false unless @active == other.active
|
46
|
+
return false unless @key == other.key
|
47
|
+
return false unless @title == other.title
|
48
|
+
return false unless @type == other.type
|
49
|
+
return false unless @field == other.field
|
50
|
+
return false unless @filter == other.filter
|
51
|
+
return false unless @sort == other.sort
|
52
|
+
true
|
25
53
|
end
|
26
54
|
end
|
27
55
|
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 GetLibraryItemsLocation
|
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
|
@@ -13,59 +13,65 @@ module PlexRubySDK
|
|
13
13
|
extend T::Sig
|
14
14
|
include Crystalline::MetadataFields
|
15
15
|
|
16
|
-
|
17
|
-
field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
|
18
|
-
|
16
|
+
# Unique media identifier.
|
19
17
|
field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } }
|
20
|
-
|
21
|
-
field :part, T::Array[Models::Operations::GetLibraryItemsPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
22
|
-
|
18
|
+
# Aspect ratio of the video.
|
23
19
|
field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } }
|
24
|
-
|
20
|
+
# Number of audio channels.
|
25
21
|
field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } }
|
26
|
-
|
22
|
+
# Audio codec used.
|
27
23
|
field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } }
|
28
|
-
|
24
|
+
# The audio profile used for the media (e.g., DTS, Dolby Digital, etc.).
|
29
25
|
field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } }
|
30
|
-
|
26
|
+
# Bitrate in bits per second.
|
31
27
|
field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } }
|
28
|
+
# Container format of the media.
|
29
|
+
field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } }
|
32
30
|
|
31
|
+
field :display_offset, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('displayOffset') } }
|
32
|
+
# Duration of the media in milliseconds.
|
33
33
|
field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } }
|
34
|
-
|
34
|
+
# Indicates whether the media has 64-bit offsets.
|
35
|
+
# This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
|
36
|
+
#
|
35
37
|
field :has64bit_offsets, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('has64bitOffsets') } }
|
36
|
-
|
38
|
+
# Indicates whether voice activity is detected.
|
37
39
|
field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } }
|
38
|
-
|
40
|
+
# Video height in pixels.
|
39
41
|
field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } }
|
42
|
+
# Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
|
43
|
+
field :optimized_for_streaming, T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming') } }
|
40
44
|
|
41
|
-
field :
|
42
|
-
|
45
|
+
field :part, T.nilable(T::Array[Models::Operations::GetLibraryItemsPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } }
|
46
|
+
# Video codec used.
|
43
47
|
field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } }
|
44
|
-
|
48
|
+
# Frame rate of the video. Values found include NTSC, PAL, 24p
|
49
|
+
#
|
45
50
|
field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } }
|
46
|
-
|
51
|
+
# Video profile (e.g., main 10).
|
47
52
|
field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } }
|
48
|
-
|
53
|
+
# Video resolution (e.g., 4k).
|
49
54
|
field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } }
|
50
|
-
|
55
|
+
# Video width in pixels.
|
51
56
|
field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } }
|
52
57
|
|
53
58
|
|
54
|
-
sig { params(
|
55
|
-
def initialize(
|
56
|
-
@container = container
|
59
|
+
sig { params(id: ::Integer, aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), display_offset: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(T.any(Models::Operations::OptimizedForStreaming1, T::Boolean)), part: T.nilable(T::Array[Models::Operations::GetLibraryItemsPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void }
|
60
|
+
def initialize(id: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, container: nil, display_offset: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
|
57
61
|
@id = id
|
58
|
-
@part = part
|
59
62
|
@aspect_ratio = aspect_ratio
|
60
63
|
@audio_channels = audio_channels
|
61
64
|
@audio_codec = audio_codec
|
62
65
|
@audio_profile = audio_profile
|
63
66
|
@bitrate = bitrate
|
67
|
+
@container = container
|
68
|
+
@display_offset = display_offset
|
64
69
|
@duration = duration
|
65
70
|
@has64bit_offsets = has64bit_offsets
|
66
71
|
@has_voice_activity = has_voice_activity
|
67
72
|
@height = height
|
68
73
|
@optimized_for_streaming = optimized_for_streaming
|
74
|
+
@part = part
|
69
75
|
@video_codec = video_codec
|
70
76
|
@video_frame_rate = video_frame_rate
|
71
77
|
@video_profile = video_profile
|
@@ -75,19 +81,20 @@ module PlexRubySDK
|
|
75
81
|
|
76
82
|
def ==(other)
|
77
83
|
return false unless other.is_a? self.class
|
78
|
-
return false unless @container == other.container
|
79
84
|
return false unless @id == other.id
|
80
|
-
return false unless @part == other.part
|
81
85
|
return false unless @aspect_ratio == other.aspect_ratio
|
82
86
|
return false unless @audio_channels == other.audio_channels
|
83
87
|
return false unless @audio_codec == other.audio_codec
|
84
88
|
return false unless @audio_profile == other.audio_profile
|
85
89
|
return false unless @bitrate == other.bitrate
|
90
|
+
return false unless @container == other.container
|
91
|
+
return false unless @display_offset == other.display_offset
|
86
92
|
return false unless @duration == other.duration
|
87
93
|
return false unless @has64bit_offsets == other.has64bit_offsets
|
88
94
|
return false unless @has_voice_activity == other.has_voice_activity
|
89
95
|
return false unless @height == other.height
|
90
96
|
return false unless @optimized_for_streaming == other.optimized_for_streaming
|
97
|
+
return false unless @part == other.part
|
91
98
|
return false unless @video_codec == other.video_codec
|
92
99
|
return false unless @video_frame_rate == other.video_frame_rate
|
93
100
|
return false unless @video_profile == other.video_profile
|