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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +1 -0
  3. data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
  4. data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +3 -3
  5. data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +10 -4
  6. data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +12 -4
  7. data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +2 -6
  8. data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +13 -6
  9. data/lib/plex_ruby_sdk/models/operations/{mediaguid.rb → get_library_items_guids.rb} +2 -3
  10. data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +2 -1
  11. data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
  12. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_collection.rb → get_library_items_library_optimizedforstreaming.rb} +5 -9
  13. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +6 -41
  14. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +42 -14
  15. data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +3 -3
  16. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +32 -25
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +39 -48
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +3 -3
  19. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +146 -141
  20. data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +12 -4
  21. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_response_200_type.rb → get_library_items_optimizedforstreaming_1.rb} +3 -5
  22. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +36 -28
  23. data/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb +53 -0
  24. data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +12 -18
  25. data/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb +41 -0
  26. data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +14 -46
  27. data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +12 -4
  28. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_media.rb +2 -2
  29. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_mediacontainer.rb +10 -10
  30. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_metadata.rb +6 -6
  31. data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → get_library_sections_all_optimizedforstreaming_library_1.rb} +4 -9
  32. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_part.rb +2 -2
  33. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_stream.rb +5 -5
  34. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb +37 -0
  35. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb +53 -0
  36. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb +33 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +1 -0
  38. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +1 -0
  39. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb +53 -0
  40. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +5 -3
  41. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +10 -10
  42. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +22 -22
  43. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +16 -15
  44. data/lib/plex_ruby_sdk/models/operations/{metadatarating.rb → get_media_meta_data_ratings.rb} +3 -3
  45. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +18 -18
  46. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +18 -18
  47. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +10 -4
  48. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +12 -4
  49. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb +81 -0
  50. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +1 -0
  51. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +13 -6
  52. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_mediaguid.rb → get_search_all_libraries_guids.rb} +2 -3
  53. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +2 -1
  54. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb +29 -0
  55. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +3 -3
  56. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +32 -25
  57. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +32 -4
  58. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +128 -147
  59. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +12 -4
  60. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb +20 -0
  61. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb +20 -0
  62. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +36 -28
  63. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +12 -18
  64. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +6 -5
  65. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +12 -4
  66. data/lib/plex_ruby_sdk/models/operations/searchresult.rb +10 -6
  67. data/lib/plex_ruby_sdk/models/operations/showordering.rb +6 -5
  68. data/lib/plex_ruby_sdk/models/operations/stream.rb +5 -5
  69. data/lib/plex_ruby_sdk/models/operations.rb +18 -24
  70. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  71. metadata +18 -24
  72. data/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +0 -20
  73. data/lib/plex_ruby_sdk/models/operations/episodesort.rb +0 -21
  74. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_activedirection.rb +0 -21
  75. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +0 -21
  76. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +0 -45
  77. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_fieldtype.rb +0 -37
  78. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +0 -49
  79. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +0 -37
  80. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_sort.rb +0 -63
  81. data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
  82. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_streamtype.rb +0 -25
  83. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +0 -25
  84. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +0 -20
  85. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +0 -21
  86. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +0 -41
  87. 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: b85c9786aa84443ba71c6a872179d7a3b03ee6148257eedc955e10e7d7c02c51
4
- data.tar.gz: 327bc27d3e8e3033ece917e4d7ee71f5a97c9eb1ab2134a6a3369db8675847e5
3
+ metadata.gz: 28e62698db1042bb234e09cc684042409b65085557b4e6b61c97b2d372c99a0f
4
+ data.tar.gz: 621f3865c60fd10f01da93c66d4b0885612e2b025cfddacbbcd93ce87b6a08f3
5
5
  SHA512:
6
- metadata.gz: a173eac30db2aabbfdc68bf9e59f1ed467ae7302fdf40b1ea5dcc10a1a9ae1b673f6b0b592a04c8ce2a16a557981002fe0cee7a614e495d0658e892c03db216b
7
- data.tar.gz: 7cb59ff19ce928d6d78dddb04e0d007f6b505625b96e59f29457b6bfed3c8614b3b14f6f74742c66bbc8bff1939f2c95a6305d966d183417488b20cd96f448ea
6
+ metadata.gz: 6295288630383e81cb9fe255137a21f753678ee32f1b9342f373f3fb50a45a2c548622c61b7c1132aed81b80b9da2d1793a2861fbeec82ebf135d86d5d9d4e21
7
+ data.tar.gz: 7cf297c2d1ac6875b9e405d4f2905d4905f06bacc708c22bd4ae15595e160ca7c436796d128b0d74afbd99cd16d6756996a0b7c094f5caae198d96b8999d517f
@@ -9,6 +9,7 @@ module PlexRubySDK
9
9
  module Operations
10
10
 
11
11
  # FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
12
+ #
12
13
  class FlattenSeasons < T::Enum
13
14
  enums do
14
15
  LIBRARY_DEFAULT = new('-1')
@@ -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, view_mode: ::String, directory: T.nilable(T::Array[Models::Operations::GetActorsLibraryDirectory])).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, view_mode: nil, directory: 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
- sig { params(tag: T.nilable(::String)).void }
21
- def initialize(tag: nil)
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
- sig { params(tag: T.nilable(::String)).void }
21
- def initialize(tag: nil)
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
- sig { params(filter: ::String, filter_type: ::String, key: ::String, title: ::String, type: ::String, advanced: T.nilable(T::Boolean)).void }
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
- field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } }
18
-
19
-
20
- sig { params(tag: T.nilable(::String)).void }
21
- def initialize(tag: nil)
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 MediaGuid
12
+ class GetLibraryItemsGuids
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # Can be one of the following formats:
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
 
@@ -8,7 +8,8 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
-
11
+ # GetLibraryItemsHasThumbnail - Indicates if the part has a thumbnail.
12
+ #
12
13
  class GetLibraryItemsHasThumbnail < T::Enum
13
14
  enums do
14
15
  FALSE = new('0')
@@ -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::GetLibraryItemsLibraryResponse200Type, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsLibraryResponse200Type, false) } }
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::GetLibraryItemsLibraryResponse200Type, url: ::String).void }
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
- class GetSearchAllLibrariesCollection
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
- sig { params(tag: T.nilable(::String)).void }
21
- def initialize(tag: nil)
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
- 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::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
- # GetLibraryItemsLibraryType - The type of media content in the Plex library. This can represent videos, music, or photos.
12
- #
13
- class GetLibraryItemsLibraryType < T::Enum
14
- enums do
15
- MOVIE = new('movie')
16
- TV_SHOW = new('show')
17
- SEASON = new('season')
18
- EPISODE = new('episode')
19
- ARTIST = new('artist')
20
- ALBUM = new('album')
21
- TRACK = new('track')
22
- PHOTO_ALBUM = new('photoalbum')
23
- PHOTO = new('photo')
24
- COLLECTION = new('collection')
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, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
17
+ field :path, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('path') } }
18
18
 
19
19
 
20
- sig { params(path: T.nilable(::String)).void }
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 :optimized_for_streaming, T.nilable(Models::Operations::GetLibraryItemsOptimizedForStreaming), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('optimizedForStreaming'), 'decoder': Utils.enum_from_string(Models::Operations::GetLibraryItemsOptimizedForStreaming, true) } }
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(container: ::String, id: ::Integer, part: T::Array[Models::Operations::GetLibraryItemsPart], aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), audio_profile: T.nilable(::String), bitrate: T.nilable(::Integer), duration: T.nilable(::Integer), has64bit_offsets: T.nilable(T::Boolean), has_voice_activity: T.nilable(T::Boolean), height: T.nilable(::Integer), optimized_for_streaming: T.nilable(Models::Operations::GetLibraryItemsOptimizedForStreaming), 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 }
55
- def initialize(container: nil, id: nil, part: nil, aspect_ratio: nil, audio_channels: nil, audio_codec: nil, audio_profile: nil, bitrate: nil, duration: nil, has64bit_offsets: nil, has_voice_activity: nil, height: nil, optimized_for_streaming: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil)
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