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.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/plex_ruby_sdk/library.rb +13 -12
  3. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_badrequest.rb → get_library_sections_all_badrequest.rb} +3 -3
  4. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_errors.rb → get_library_sections_all_errors.rb} +1 -1
  5. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_library_errors.rb → get_library_sections_all_library_errors.rb} +1 -1
  6. data/lib/plex_ruby_sdk/models/errors/{get_all_media_library_unauthorized.rb → get_library_sections_all_unauthorized.rb} +3 -3
  7. data/lib/plex_ruby_sdk/models/errors.rb +4 -4
  8. data/lib/plex_ruby_sdk/models/operations/country.rb +8 -6
  9. data/lib/plex_ruby_sdk/models/operations/director.rb +18 -2
  10. data/lib/plex_ruby_sdk/models/operations/flattenseasons.rb +1 -0
  11. data/lib/plex_ruby_sdk/models/operations/genre.rb +3 -1
  12. data/lib/plex_ruby_sdk/models/operations/get_actors_library_mediacontainer.rb +6 -6
  13. data/lib/plex_ruby_sdk/models/operations/get_actors_library_queryparam_type.rb +5 -3
  14. data/lib/plex_ruby_sdk/models/operations/get_all_libraries_type.rb +4 -0
  15. data/lib/plex_ruby_sdk/models/operations/get_countries_library_queryparam_type.rb +5 -3
  16. data/lib/plex_ruby_sdk/models/operations/get_genres_library_queryparam_type.rb +5 -3
  17. data/lib/plex_ruby_sdk/models/operations/get_library_items_collection.rb +3 -3
  18. data/lib/plex_ruby_sdk/models/operations/get_library_items_country.rb +10 -4
  19. data/lib/plex_ruby_sdk/models/operations/get_library_items_director.rb +12 -4
  20. data/lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb +2 -6
  21. data/lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb +13 -6
  22. data/lib/plex_ruby_sdk/models/operations/{mediaguid.rb → get_library_items_guids.rb} +2 -3
  23. data/lib/plex_ruby_sdk/models/operations/get_library_items_hasthumbnail.rb +2 -1
  24. data/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb +2 -2
  25. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_collection.rb → get_library_items_library_optimizedforstreaming.rb} +5 -9
  26. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb +6 -41
  27. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb +42 -10
  28. data/lib/plex_ruby_sdk/models/operations/get_library_items_location.rb +3 -3
  29. data/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +32 -25
  30. data/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +39 -48
  31. data/lib/plex_ruby_sdk/models/operations/get_library_items_meta.rb +3 -3
  32. data/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +146 -141
  33. data/lib/plex_ruby_sdk/models/operations/get_library_items_optimizedforstreaming.rb +12 -4
  34. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_optimizedforstreaming_1.rb → get_library_items_optimizedforstreaming_1.rb} +1 -1
  35. data/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +36 -28
  36. data/lib/plex_ruby_sdk/models/operations/get_library_items_producer.rb +53 -0
  37. data/lib/plex_ruby_sdk/models/operations/get_library_items_queryparam_type.rb +5 -3
  38. data/lib/plex_ruby_sdk/models/operations/get_library_items_role.rb +12 -18
  39. data/lib/plex_ruby_sdk/models/operations/get_library_items_similar.rb +41 -0
  40. data/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +14 -46
  41. data/lib/plex_ruby_sdk/models/operations/get_library_items_writer.rb +12 -4
  42. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_activedirection.rb → get_library_sections_all_activedirection.rb} +2 -2
  43. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_collection.rb → get_library_sections_all_collection.rb} +1 -1
  44. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_country.rb → get_library_sections_all_country.rb} +1 -1
  45. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_activedirection.rb → get_library_sections_all_defaultdirection.rb} +2 -2
  46. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_director.rb → get_library_sections_all_director.rb} +1 -1
  47. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_field.rb → get_library_sections_all_field.rb} +1 -1
  48. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_fieldtype.rb → get_library_sections_all_fieldtype.rb} +3 -3
  49. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_filter.rb → get_library_sections_all_filter.rb} +1 -1
  50. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_genre.rb → get_library_sections_all_genre.rb} +1 -1
  51. data/lib/plex_ruby_sdk/models/operations/{get_search_all_libraries_mediaguid.rb → get_library_sections_all_guids.rb} +2 -3
  52. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_hasthumbnail.rb → get_library_sections_all_hasthumbnail.rb} +2 -2
  53. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_image.rb → get_library_sections_all_image.rb} +3 -3
  54. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_optimizedforstreaming.rb → get_library_sections_all_library_optimizedforstreaming.rb} +1 -1
  55. 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
  56. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_library_type.rb → get_library_sections_all_library_type.rb} +6 -2
  57. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_media.rb → get_library_sections_all_media.rb} +4 -4
  58. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_mediacontainer.rb → get_library_sections_all_mediacontainer.rb} +13 -13
  59. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_meta.rb → get_library_sections_all_meta.rb} +4 -4
  60. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_metadata.rb → get_library_sections_all_metadata.rb} +18 -18
  61. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_operator.rb → get_library_sections_all_operator.rb} +1 -1
  62. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_optimizedforstreaming.rb → get_library_sections_all_optimizedforstreaming.rb} +1 -1
  63. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_1.rb +20 -0
  64. data/lib/plex_ruby_sdk/models/operations/get_library_sections_all_optimizedforstreaming_library_1.rb +20 -0
  65. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_part.rb → get_library_sections_all_part.rb} +5 -5
  66. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_queryparam_includemeta.rb → get_library_sections_all_queryparam_includemeta.rb} +2 -2
  67. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_queryparam_type.rb → get_library_sections_all_queryparam_type.rb} +7 -5
  68. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_request.rb → get_library_sections_all_request.rb} +4 -4
  69. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_response.rb → get_library_sections_all_response.rb} +3 -3
  70. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_responsebody.rb → get_library_sections_all_responsebody.rb} +3 -3
  71. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_role.rb → get_library_sections_all_role.rb} +1 -1
  72. data/lib/plex_ruby_sdk/models/operations/{get_library_items_library_sort.rb → get_library_sections_all_sort.rb} +4 -4
  73. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_stream.rb → get_library_sections_all_stream.rb} +6 -6
  74. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_type.rb → get_library_sections_all_type.rb} +5 -5
  75. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_ultrablurcolors.rb → get_library_sections_all_ultrablurcolors.rb} +1 -1
  76. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_writer.rb → get_library_sections_all_writer.rb} +1 -1
  77. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_attributes.rb +37 -0
  78. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_chapter.rb +53 -0
  79. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_country.rb +8 -6
  80. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_director.rb +4 -4
  81. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_extras.rb +33 -0
  82. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_genre.rb +3 -1
  83. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_guids.rb +2 -1
  84. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_hasthumbnail.rb +1 -0
  85. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_library_optimizedforstreaming.rb +1 -0
  86. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_marker.rb +53 -0
  87. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_media.rb +5 -3
  88. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_mediacontainer.rb +10 -10
  89. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_metadata.rb +22 -22
  90. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_part.rb +16 -15
  91. data/lib/plex_ruby_sdk/models/operations/{metadatarating.rb → get_media_meta_data_ratings.rb} +3 -3
  92. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_request.rb +3 -3
  93. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_role.rb +12 -8
  94. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_stream.rb +18 -18
  95. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_type.rb +5 -1
  96. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_writer.rb +2 -2
  97. data/lib/plex_ruby_sdk/models/operations/get_recently_added_hubs_type.rb +5 -1
  98. data/lib/plex_ruby_sdk/models/operations/get_recently_added_metadata.rb +18 -18
  99. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_country.rb +10 -4
  100. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_director.rb +12 -4
  101. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_directory.rb +81 -0
  102. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_flattenseasons.rb +1 -0
  103. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_genre.rb +13 -6
  104. data/lib/plex_ruby_sdk/models/operations/{get_all_media_library_guids.rb → get_search_all_libraries_guids.rb} +4 -4
  105. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_hasthumbnail.rb +2 -1
  106. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_library_optimizedforstreaming.rb +29 -0
  107. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_location.rb +3 -3
  108. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_media.rb +32 -25
  109. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_mediacontainer.rb +32 -4
  110. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadata.rb +128 -147
  111. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming.rb +12 -4
  112. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_1.rb +20 -0
  113. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_optimizedforstreaming_library_1.rb +20 -0
  114. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_part.rb +36 -28
  115. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_role.rb +12 -18
  116. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_showordering.rb +6 -5
  117. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_type.rb +5 -1
  118. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_writer.rb +12 -4
  119. data/lib/plex_ruby_sdk/models/operations/get_search_library_queryparam_type.rb +5 -3
  120. data/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +5 -3
  121. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_mediacontainer.rb +14 -14
  122. data/lib/plex_ruby_sdk/models/operations/{streamtype.rb → gettopwatchedcontent_queryparam_includeguids.rb} +4 -8
  123. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +5 -3
  124. data/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_request.rb +3 -3
  125. data/lib/plex_ruby_sdk/models/operations/guids.rb +3 -3
  126. data/lib/plex_ruby_sdk/models/operations/producer.rb +5 -4
  127. data/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +5 -3
  128. data/lib/plex_ruby_sdk/models/operations/rating.rb +1 -1
  129. data/lib/plex_ruby_sdk/models/operations/role.rb +12 -8
  130. data/lib/plex_ruby_sdk/models/operations/searchresult.rb +10 -6
  131. data/lib/plex_ruby_sdk/models/operations/showordering.rb +6 -5
  132. data/lib/plex_ruby_sdk/models/operations/stream.rb +5 -5
  133. data/lib/plex_ruby_sdk/models/operations/type.rb +5 -3
  134. data/lib/plex_ruby_sdk/models/operations/writer.rb +7 -3
  135. data/lib/plex_ruby_sdk/models/operations.rb +54 -59
  136. data/lib/plex_ruby_sdk/sdkconfiguration.rb +3 -3
  137. metadata +57 -62
  138. data/lib/plex_ruby_sdk/models/operations/enablecreditsmarkergeneration.rb +0 -20
  139. data/lib/plex_ruby_sdk/models/operations/episodesort.rb +0 -21
  140. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_defaultdirection.rb +0 -21
  141. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_fieldtype.rb +0 -37
  142. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_sort.rb +0 -63
  143. data/lib/plex_ruby_sdk/models/operations/get_all_media_library_streamtype.rb +0 -25
  144. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_defaultdirection.rb +0 -21
  145. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_field.rb +0 -45
  146. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_filter.rb +0 -49
  147. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_operator.rb +0 -37
  148. data/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_200_type.rb +0 -22
  149. data/lib/plex_ruby_sdk/models/operations/get_library_items_stream.rb +0 -181
  150. data/lib/plex_ruby_sdk/models/operations/get_media_meta_data_streamtype.rb +0 -25
  151. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_enablecreditsmarkergeneration.rb +0 -20
  152. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_episodesort.rb +0 -21
  153. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_metadatarating.rb +0 -41
  154. data/lib/plex_ruby_sdk/models/operations/get_search_all_libraries_stream.rb +0 -181
@@ -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,16 +8,48 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # GetLibraryItemsLibraryType - The type of media content
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')
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
21
53
  end
22
54
  end
23
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
@@ -8,72 +8,66 @@ module PlexRubySDK
8
8
  module Models
9
9
  module Operations
10
10
 
11
- # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
12
- #
11
+
13
12
  class GetLibraryItemsMediaContainer
14
13
  extend T::Sig
15
14
  include Crystalline::MetadataFields
16
15
 
17
-
16
+ # Indicates whether syncing is allowed.
18
17
  field :allow_sync, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('allowSync') } }
19
-
18
+ # URL for the background artwork of the media container.
20
19
  field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } }
21
-
20
+ # The content type or mode.
22
21
  field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } }
23
-
22
+ # An plugin identifier for the media container.
24
23
  field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } }
25
-
26
- field :library_section_id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
27
-
28
- field :library_section_title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
29
-
30
- field :library_section_uuid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
31
-
24
+ # The prefix used for media tag resource paths.
32
25
  field :media_tag_prefix, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagPrefix') } }
33
-
26
+ # The version number for media tags.
34
27
  field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } }
35
-
28
+ # An array of metadata items.
29
+ field :metadata, T::Array[Models::Operations::GetLibraryItemsMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
30
+ # Specifies whether caching is disabled.
31
+ field :nocache, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
32
+ # Offset value for pagination.
36
33
  field :offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } }
37
-
34
+ # Number of media items returned in this response.
38
35
  field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } }
39
-
36
+ # URL for the thumbnail image of the media container.
40
37
  field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } }
41
-
38
+ # The primary title of the media container.
42
39
  field :title1, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title1') } }
43
-
40
+ # The secondary title of the media container.
44
41
  field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } }
45
-
42
+ # Total number of media items in the library.
46
43
  field :total_size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } }
47
-
44
+ # Identifier for the view group layout.
48
45
  field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } }
49
-
50
- field :field_type, T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } }
46
+ # The unique identifier for the library section.
47
+ field :library_section_id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } }
48
+ # The title of the library section.
49
+ field :library_section_title, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionTitle') } }
50
+ # The universally unique identifier for the library section.
51
+ field :library_section_uuid, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionUUID') } }
51
52
  # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
52
53
  #
53
54
  field :meta, T.nilable(Models::Operations::GetLibraryItemsMeta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } }
54
-
55
- field :metadata, T.nilable(T::Array[Models::Operations::GetLibraryItemsMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } }
56
-
55
+ # Indicates if the media container has mixed parents.
57
56
  field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } }
57
+ # Identifier for the view mode.
58
+ field :view_mode, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } }
58
59
 
59
- field :nocache, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } }
60
-
61
- field :type, T.nilable(T::Array[Models::Operations::GetLibraryItemsType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } }
62
-
63
- field :view_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } }
64
60
 
65
-
66
- sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Integer, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, field_type: T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), meta: T.nilable(Models::Operations::GetLibraryItemsMeta), metadata: T.nilable(T::Array[Models::Operations::GetLibraryItemsMetadata]), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), type: T.nilable(T::Array[Models::Operations::GetLibraryItemsType]), view_mode: T.nilable(::Integer)).void }
67
- def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, field_type: nil, meta: nil, metadata: nil, mixed_parents: nil, nocache: nil, type: nil, view_mode: nil)
61
+ sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[Models::Operations::GetLibraryItemsMetadata], nocache: T::Boolean, offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, library_section_id: T.nilable(::Integer), library_section_title: T.nilable(::String), library_section_uuid: T.nilable(::String), meta: T.nilable(Models::Operations::GetLibraryItemsMeta), mixed_parents: T.nilable(T::Boolean), view_mode: T.nilable(::String)).void }
62
+ def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, nocache: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, meta: nil, mixed_parents: nil, view_mode: nil)
68
63
  @allow_sync = allow_sync
69
64
  @art = art
70
65
  @content = content
71
66
  @identifier = identifier
72
- @library_section_id = library_section_id
73
- @library_section_title = library_section_title
74
- @library_section_uuid = library_section_uuid
75
67
  @media_tag_prefix = media_tag_prefix
76
68
  @media_tag_version = media_tag_version
69
+ @metadata = metadata
70
+ @nocache = nocache
77
71
  @offset = offset
78
72
  @size = size
79
73
  @thumb = thumb
@@ -81,12 +75,11 @@ module PlexRubySDK
81
75
  @title2 = title2
82
76
  @total_size = total_size
83
77
  @view_group = view_group
84
- @field_type = field_type
78
+ @library_section_id = library_section_id
79
+ @library_section_title = library_section_title
80
+ @library_section_uuid = library_section_uuid
85
81
  @meta = meta
86
- @metadata = metadata
87
82
  @mixed_parents = mixed_parents
88
- @nocache = nocache
89
- @type = type
90
83
  @view_mode = view_mode
91
84
  end
92
85
 
@@ -96,11 +89,10 @@ module PlexRubySDK
96
89
  return false unless @art == other.art
97
90
  return false unless @content == other.content
98
91
  return false unless @identifier == other.identifier
99
- return false unless @library_section_id == other.library_section_id
100
- return false unless @library_section_title == other.library_section_title
101
- return false unless @library_section_uuid == other.library_section_uuid
102
92
  return false unless @media_tag_prefix == other.media_tag_prefix
103
93
  return false unless @media_tag_version == other.media_tag_version
94
+ return false unless @metadata == other.metadata
95
+ return false unless @nocache == other.nocache
104
96
  return false unless @offset == other.offset
105
97
  return false unless @size == other.size
106
98
  return false unless @thumb == other.thumb
@@ -108,12 +100,11 @@ module PlexRubySDK
108
100
  return false unless @title2 == other.title2
109
101
  return false unless @total_size == other.total_size
110
102
  return false unless @view_group == other.view_group
111
- return false unless @field_type == other.field_type
103
+ return false unless @library_section_id == other.library_section_id
104
+ return false unless @library_section_title == other.library_section_title
105
+ return false unless @library_section_uuid == other.library_section_uuid
112
106
  return false unless @meta == other.meta
113
- return false unless @metadata == other.metadata
114
107
  return false unless @mixed_parents == other.mixed_parents
115
- return false unless @nocache == other.nocache
116
- return false unless @type == other.type
117
108
  return false unless @view_mode == other.view_mode
118
109
  true
119
110
  end
@@ -15,12 +15,12 @@ module PlexRubySDK
15
15
  include Crystalline::MetadataFields
16
16
 
17
17
 
18
- field :field_type, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } }
18
+ field :field_type, T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } }
19
19
 
20
- field :type, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryResponseType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } }
20
+ field :type, T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } }
21
21
 
22
22
 
23
- sig { params(field_type: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryFieldType]), type: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryResponseType])).void }
23
+ sig { params(field_type: T.nilable(T::Array[Models::Operations::GetLibraryItemsFieldType]), type: T.nilable(T::Array[Models::Operations::GetLibraryItemsLibraryType])).void }
24
24
  def initialize(field_type: nil, type: nil)
25
25
  @field_type = field_type
26
26
  @type = type