ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.529.1

This commit is contained in:
speakeasybot
2025-04-07 00:10:08 +00:00
parent 2d3d3206a4
commit 1be9c77a05
852 changed files with 9666 additions and 1368 deletions

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,7 @@ generation:
oAuth2ClientCredentialsEnabled: false
oAuth2PasswordEnabled: false
ruby:
version: 0.8.1
version: 0.9.0
additionalDependencies:
development: {}
runtime: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.528.1
speakeasyVersion: 1.529.1
sources:
my-source:
sourceNamespace: my-source
@@ -9,19 +9,19 @@ sources:
- main
plexapi:
sourceNamespace: plexapi
sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5
sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3
sourceRevisionDigest: sha256:ea508e3da23b283f47aeb4384d6b3ab374a27bdffb8d8d8376cedbad3ad77a06
sourceBlobDigest: sha256:c210adbd02b0213b9e6f95ffc27f60ec38f8f9040137d55ccf2b650d92ab0ff5
tags:
- latest
- speakeasy-sdk-regen-1743725307
- speakeasy-sdk-regen-1743984537
targets:
plexruby:
source: plexapi
sourceNamespace: plexapi
sourceRevisionDigest: sha256:b5580df6ec4a386e12249ff13f35b916fe5559e101de4a816b53e47d6947f1a5
sourceBlobDigest: sha256:6108b6c35fbe7e9163ffe0c804170f5e3a6edb63b8e745454ea8ee249bd790c3
sourceRevisionDigest: sha256:ea508e3da23b283f47aeb4384d6b3ab374a27bdffb8d8d8376cedbad3ad77a06
sourceBlobDigest: sha256:c210adbd02b0213b9e6f95ffc27f60ec38f8f9040137d55ccf2b650d92ab0ff5
codeSamplesNamespace: code-samples-ruby-plexruby
codeSamplesRevisionDigest: sha256:6fb53429d0401a046e89cab9ba5f9e5226c6e4a25f687fee407a39ae757cf563
codeSamplesRevisionDigest: sha256:f2a076d3d2fbf77cebec2a9f236c00e49ea062e716507fbbda3585a07b7469ba
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest

View File

@@ -1,7 +1,7 @@
PATH
remote: .
specs:
plex_ruby_sdk (0.8.1)
plex_ruby_sdk (0.9.0)
faraday
faraday-multipart
faraday-retry (~> 2.2.1)

View File

@@ -767,3 +767,13 @@ Based on:
- [ruby v0.8.1] .
### Releases
- [Ruby Gems v0.8.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.8.1 - .
## 2025-04-07 00:08:41
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.529.1 (2.566.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [ruby v0.9.0] .
### Releases
- [Ruby Gems v0.9.0] https://rubygems.org/gems/plex_ruby_sdk/versions/0.9.0 - .

View File

@@ -5,24 +5,24 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `allow_sync` | *T::Boolean* | :heavy_check_mark: | N/A | true |
| `art` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg |
| `composite` | *::String* | :heavy_check_mark: | N/A | /library/sections/1/composite/1705615584 |
| `filters` | *T::Boolean* | :heavy_check_mark: | N/A | true |
| `refreshing` | *T::Boolean* | :heavy_check_mark: | N/A | false |
| `thumb` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie.png |
| `key` | *::String* | :heavy_check_mark: | N/A | 1 |
| `type` | *::String* | :heavy_check_mark: | N/A | movie |
| `title` | *::String* | :heavy_check_mark: | N/A | Movies |
| `agent` | *::String* | :heavy_check_mark: | N/A | tv.plex.agents.movie |
| `scanner` | *::String* | :heavy_check_mark: | N/A | Plex Movie |
| `language` | *::String* | :heavy_check_mark: | N/A | en-US |
| `uuid` | *::String* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `allow_sync` | *T::Boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `art` | *::String* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg |
| `composite` | *::String* | :heavy_check_mark: | The relative path to the composite media item. | /library/sections/1/composite/1743824484 |
| `filters` | *T::Boolean* | :heavy_check_mark: | UNKNOWN | true |
| `refreshing` | *T::Boolean* | :heavy_check_mark: | Indicates whether the library is currently being refreshed or updated | true |
| `thumb` | *::String* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png |
| `key` | *::String* | :heavy_check_mark: | The library key representing the unique identifier | 1 |
| `type` | [::PlexRubySDK::Operations::GetAllLibrariesType](../../models/operations/getalllibrariestype.md) | :heavy_check_mark: | N/A | movie |
| `title` | *::String* | :heavy_check_mark: | The title of the library | Movies |
| `agent` | *::String* | :heavy_check_mark: | The Plex agent used to match and retrieve media metadata. | tv.plex.agents.movie |
| `scanner` | *::String* | :heavy_check_mark: | UNKNOWN | Plex Movie |
| `language` | *::String* | :heavy_check_mark: | The Plex library language that has been set | en-US |
| `uuid` | *::String* | :heavy_check_mark: | The universally unique identifier for the library. | e69655a2-ef48-4aba-bb19-01e7d3cc34d6 |
| `updated_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `created_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `created_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1556281940 |
| `scanned_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `content` | *T::Boolean* | :heavy_check_mark: | N/A | true |
| `directory` | *T::Boolean* | :heavy_check_mark: | N/A | true |
| `content_changed_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 |
| `hidden` | *::Integer* | :heavy_check_mark: | N/A | 0 |
| `content` | *T::Boolean* | :heavy_check_mark: | UNKNOWN | true |
| `directory` | *T::Boolean* | :heavy_check_mark: | UNKNOWN | true |
| `content_changed_at` | *::Integer* | :heavy_check_mark: | The number of seconds since the content was last changed relative to now. | 9173960 |
| `hidden` | [::PlexRubySDK::Operations::Hidden](../../models/operations/hidden.md) | :heavy_check_mark: | N/A | 1 |
| `location` | T::Array<[::PlexRubySDK::Operations::GetAllLibrariesLocation](../../models/operations/getalllibrarieslocation.md)> | :heavy_check_mark: | N/A | |

View File

@@ -4,6 +4,6 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `id` | *::Integer* | :heavy_check_mark: | N/A | 1 |
| `path` | *::String* | :heavy_check_mark: | N/A | /movies |
| --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- |
| `id` | *::Integer* | :heavy_check_mark: | The ID of the location. | 1 |
| `path` | *::String* | :heavy_check_mark: | The path to the media item. | /Movies |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `size` | *::Integer* | :heavy_check_mark: | N/A | 5 |
| `allow_sync` | *T::Boolean* | :heavy_check_mark: | N/A | false |
| `title1` | *::String* | :heavy_check_mark: | N/A | Plex Library |
| `directory` | T::Array<[::PlexRubySDK::Operations::GetAllLibrariesDirectory](../../models/operations/getalllibrariesdirectory.md)> | :heavy_check_mark: | N/A | |
| `size` | *::Integer* | :heavy_check_mark: | Number of media items returned in this response. | 50 |
| `allow_sync` | *T::Boolean* | :heavy_check_mark: | Indicates whether syncing is allowed. | false |
| `title1` | *::String* | :heavy_check_mark: | The primary title of the media container. | TV Series |
| `directory` | T::Array<[::PlexRubySDK::Operations::GetAllLibrariesDirectory](../../models/operations/getalllibrariesdirectory.md)> | :heavy_minus_sign: | N/A | |

View File

@@ -6,5 +6,5 @@ The libraries available on the Server
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `media_container` | [::PlexRubySDK::Operations::GetAllLibrariesMediaContainer](../../models/operations/getalllibrariesmediacontainer.md) | :heavy_check_mark: | N/A |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `media_container` | [T.nilable(::PlexRubySDK::Operations::GetAllLibrariesMediaContainer)](../../models/operations/getalllibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,15 @@
# GetAllLibrariesType
The library type
## Values
| Name | Value |
| --------- | --------- |
| `MOVIE` | movie |
| `TV_SHOW` | show |
| `SEASON` | season |
| `EPISODE` | episode |
| `ARTIST` | artist |
| `ALBUM` | album |

View File

@@ -0,0 +1,4 @@
# GetAllMediaLibraryLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *::Integer* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
@@ -21,6 +21,6 @@
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `optimized_for_streaming` | *T.nilable(::Object)* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `optimized_for_streaming` | [T.nilable(T.any(::PlexRubySDK::Operations::OptimizedForStreaming1, T::Boolean))](../../models/operations/getallmedialibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `part` | T::Array<[::PlexRubySDK::Operations::GetAllMediaLibraryPart](../../models/operations/getallmedialibrarypart.md)> | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -0,0 +1,4 @@
# GetAllMediaLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true

View File

@@ -0,0 +1,9 @@
# GetAllMediaLibraryOptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `accessible` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `exists` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `id` | *::Integer* | :heavy_check_mark: | Unique part identifier. | 418385 |
@@ -18,6 +18,6 @@
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile for the part. | main 10 |
| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `optimized_for_streaming` | *T.nilable(::Object)* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `optimized_for_streaming` | [T.nilable(T.any(::PlexRubySDK::Operations::GetAllMediaLibraryOptimizedForStreaming1, T::Boolean))](../../models/operations/getallmedialibrarylibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::GetAllMediaLibraryHasThumbnail)](../../models/operations/getallmedialibraryhasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `stream` | T::Array<[::PlexRubySDK::Operations::GetAllMediaLibraryStream](../../models/operations/getallmedialibrarystream.md)> | :heavy_minus_sign: | An array of streams for this part. | |

View File

@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `include_details` | [T.nilable(::PlexRubySDK::Operations::IncludeDetails)](../../models/operations/includedetails.md) | :heavy_minus_sign: | Whether or not to include details for a section (types, filters, and sorts). <br/>Only exists for backwards compatibility, media providers other than the server libraries have it on always.<br/> | |
| `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 |
| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 |
| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 25025 |
@@ -20,6 +20,6 @@
| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 24p |
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 |
| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `optimized_for_streaming` | [T.nilable(::PlexRubySDK::Operations::OptimizedForStreaming)](../../models/operations/optimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 |
| `optimized_for_streaming` | [T.nilable(::PlexRubySDK::Operations::GetLibraryItemsOptimizedForStreaming)](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `part` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_check_mark: | N/A | |

View File

@@ -0,0 +1,9 @@
# GetLibraryItemsOptimizedForStreaming
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,4 @@
# GetMediaMetaDataLibraryOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *::Integer* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
@@ -21,6 +21,6 @@
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `optimized_for_streaming` | *T.nilable(::Object)* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `optimized_for_streaming` | [T.nilable(T.any(::PlexRubySDK::Operations::GetMediaMetaDataOptimizedForStreaming1, T::Boolean))](../../models/operations/getmediametadataoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `part` | T::Array<[::PlexRubySDK::Operations::GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md)> | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -0,0 +1,4 @@
# GetMediaMetaDataOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true

View File

@@ -0,0 +1,9 @@
# GetMediaMetaDataOptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -0,0 +1,9 @@
# GetMediaMetaDataOptimizedForStreamingLibrary1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accessible` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `exists` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `id` | *::Integer* | :heavy_check_mark: | Unique part identifier. | 418385 |
@@ -18,6 +18,6 @@
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile for the part. | main 10 |
| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `optimized_for_streaming` | *T.nilable(::Object)* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `optimized_for_streaming` | [T.nilable(T.any(::PlexRubySDK::Operations::GetMediaMetaDataOptimizedForStreamingLibrary1, T::Boolean))](../../models/operations/getmediametadatalibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::GetMediaMetaDataHasThumbnail)](../../models/operations/getmediametadatahasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `stream` | T::Array<[::PlexRubySDK::Operations::GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md)> | :heavy_minus_sign: | An array of streams for this part. | |

View File

@@ -0,0 +1,4 @@
# GetRecentlyAddedOptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true

View File

@@ -0,0 +1,9 @@
# GetRecentlyAddedOptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |
| `force` | [T.nilable(::PlexRubySDK::Operations::Force)](../../models/operations/force.md) | :heavy_minus_sign: | Force the refresh even if the library is already being refreshed. | 0 |
| `section_key` | *::Integer* | :heavy_check_mark: | The unique key of the Plex library. <br/>Note: This is unique in the context of the Plex server.<br/> | 9518 |

View File

@@ -5,7 +5,7 @@
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `client_id` | *::String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |
| `include_https` | [T.nilable(::PlexRubySDK::Operations::IncludeHttps)](../../models/operations/includehttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 |
| `include_relay` | [T.nilable(::PlexRubySDK::Operations::IncludeRelay)](../../models/operations/includerelay.md) | :heavy_minus_sign: | Include Relay addresses in the results <br/>E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400<br/> | 1 |
| `include_i_pv6` | [T.nilable(::PlexRubySDK::Operations::IncludeIPv6)](../../models/operations/includeipv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 |
| `client_id` | *::String* | :heavy_check_mark: | An opaque identifier unique to the client (UUID, serial number, or other unique device ID) | 3381b62b-9ab7-4e37-827b-203e9809eb58 |

View File

@@ -5,5 +5,5 @@
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type` | [::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |
| `include_guids` | *T.nilable(::Integer)* | :heavy_minus_sign: | Adds the Guids object to the response<br/> | 1 |
| `type` | [::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType](../../models/operations/gettopwatchedcontentqueryparamtype.md) | :heavy_check_mark: | The type of media to retrieve or filter by.<br/>1 = movie<br/>2 = show<br/>3 = season<br/>4 = episode<br/>E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries<br/> | 2 |

View File

@@ -0,0 +1,11 @@
# Hidden
UNKNOWN
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `id` | *::Integer* | :heavy_check_mark: | Unique media identifier. | 387322 |
| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 |
| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 |
@@ -21,6 +21,6 @@
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 |
| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false |
| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `optimized_for_streaming` | *T.nilable(::Object)* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `optimized_for_streaming` | [T.nilable(T.any(::PlexRubySDK::Operations::One, T::Boolean))](../../models/operations/optimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `part` | T::Array<[::PlexRubySDK::Operations::Part](../../models/operations/part.md)> | :heavy_minus_sign: | An array of parts for this media item. | |

View File

@@ -0,0 +1,9 @@
# One
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -1,9 +1,4 @@
# OptimizedForStreaming
Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
## Values
| Name | Value |
| --------- | --------- |
| `DISABLE` | 0 |
| `ENABLE` | 1 |

View File

@@ -0,0 +1,9 @@
# OptimizedForStreaming1
## Values
| Name | Value |
| ------ | ------ |
| `ZERO` | 0 |
| `ONE` | 1 |

View File

@@ -4,7 +4,7 @@
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `accessible` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part is accessible. | true |
| `exists` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | Indicates if the part exists. | true |
| `id` | *::Integer* | :heavy_check_mark: | Unique part identifier. | 418385 |
@@ -18,6 +18,6 @@
| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | Video profile for the part. | main 10 |
| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts |
| `has64bit_offsets` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false |
| `optimized_for_streaming` | *T.nilable(::Object)* | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `optimized_for_streaming` | [T.nilable(T.any(::PlexRubySDK::Operations::GetRecentlyAddedOptimizedForStreaming1, T::Boolean))](../../models/operations/getrecentlyaddedoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | |
| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::HasThumbnail)](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 |
| `stream` | T::Array<[::PlexRubySDK::Operations::Stream](../../models/operations/stream.md)> | :heavy_minus_sign: | An array of streams for this part. | |

View File

@@ -80,6 +80,10 @@ module Crystalline
key = "#{field.name}="
lookup = field.metadata.fetch(:format_json, {}).fetch(:letter_case, nil).call
value = d[lookup]
# If field is not nilable, and the value is not in the dict, raise a KeyError
raise KeyError, "key #{lookup} not found in hash" if value.nil? && !T.nilable?(field.type)
# If field is nilable, and the value is not in the dict, just move to the next field
next if value.nil?
if T.arr? field_type
@@ -93,12 +97,41 @@ module Crystalline
unmarshalled_hash = value.map { |k, v| [k, unmarshal_single(val_type, v)] }.to_h
# rubocop:enable Style/HashTransformValues
to_build.send(key, unmarshalled_hash)
elsif T.union? field_type
discriminator = field.metadata.fetch(:discriminator, nil)
if !discriminator.nil?
type_to_deserialize = value.fetch(discriminator)
type_to_deserialize = T.get_union_types(field_type).find { |t| t.name.split('::').last == type_to_deserialize }
unmarshalled_val = Crystalline.unmarshal_json(value, type_to_deserialize)
to_build.send(key, unmarshalled_val)
else
union_types = T.get_union_types(field_type)
union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
union_types.each do |union_type|
begin
unmarshalled_val = Crystalline.unmarshal_json(value, union_type)
to_build.send(key, unmarshalled_val)
rescue TypeError
next
rescue NoMethodError
next
rescue KeyError
next
end
break
end
end
elsif field_type.instance_of?(Class) && field_type < ::Crystalline::FieldAugmented
unmarshalled = Crystalline.unmarshal_json(value, field_type)
to_build.send(key, unmarshalled)
else
decoder = field.metadata.fetch(:format_json, {}).fetch(:decoder, nil)
final_value = unmarshal_single(field_type, value, decoder)
to_build.send(key, final_value)
end
end
to_build
end
end

View File

@@ -27,11 +27,17 @@ module T
end
def self.nilable?(t)
t.respond_to? :unwrap_nilable
# in sorbet all `T.any` types provide unwrap_nilable for some reason
# So, in order to make this check more robust, we check if the type responds to the `types` method, and if so, whether
# one of those types is NilClass. For non-nilable unions, `types` will return a valid list that does not include NilClass
return false unless t.respond_to?(:unwrap_nilable)
return true unless t.respond_to?(:types)
t.types.map { |tt| simplify_type(tt) }.include?(NilClass)
end
def self.nilable_of(t)
if t.respond_to? :unwrap_nilable
if nilable t
return simplify_type t.unwrap_nilable
end
nil
@@ -48,6 +54,19 @@ module T
t
end
def self.union?(t)
return false unless t.respond_to? :types
return false if t.types.any? { |tt| get_raw_type(tt) == TrueClass }
return false if t.types.length == 2 && t.types.any? { |tt| get_raw_type(tt) == NilClass }
t.types.length > 1
end
def self.get_union_types(t)
t.types.map { |tt| get_raw_type(tt) }
end
def self.get_raw_type(t)
if t.respond_to? :raw_type
return t.raw_type

View File

@@ -13,25 +13,20 @@ module Crystalline
end
sig { params(complex: Object).returns(Object) }
def self.marshal_dict_complex(complex)
def self.to_dict(complex)
if complex.is_a? Array
complex.map { |v| Crystalline.marshal_dict_complex(v) }
complex.map { |v| Crystalline.to_dict(v) }
elsif complex.is_a? Hash
complex.transform_values { |v| Crystalline.marshal_dict_complex(v) }
complex.transform_values { |v| Crystalline.to_dict(v) }
elsif complex.is_a? Crystalline::FieldAugmented
complex.to_dict
else
complex
val_to_string complex, primitives: false
end
end
def self.marshal_json_complex(complex)
JSON.dump(marshal_dict_complex(complex))
end
sig { params(data: Object, type: Object).returns(Object) }
def self.unmarshal_complex(data, type)
unmarshal_json(data, type)
def self.to_json(complex)
JSON.dump(to_dict(complex))
end
sig { params(data: Object, type: Object).returns(Object) }
@@ -42,9 +37,9 @@ module Crystalline
if type.instance_of?(Class) && type < ::Crystalline::FieldAugmented
type.from_dict(data)
elsif T.arr? type
data.map { |v| Crystalline.unmarshal_complex(v, T.arr_of(type)) }
data.map { |v| Crystalline.unmarshal_json(v, T.arr_of(type)) }
elsif T.hash? type
data.transform_values { |v| Crystalline.unmarshal_complex(v, T.hash_of(type)) }
data.transform_values { |v| Crystalline.unmarshal_json(v, T.hash_of(type)) }
else
data
end
@@ -62,4 +57,25 @@ module Crystalline
val
end
end
sig { params(klass: T.any(Class, T::Types::TypedArray, T::Types::TypedHash)).returns(Integer) }
def self.non_nilable_attr_count(klass)
# somewhat sane sort ordering for Union deserialization.
# All Crystalline objects return the number of non-nilable fields
# All non-string primitives return 2
# All arrays and hashes return 1
# Strings return 0 (since any data can deserialize to a string, it should be our last attempt)
if klass.respond_to? :fields
return -1 * klass.fields.count do |field|
!T.nilable? field.type
end
else
if klass == String
return 0
elsif klass.is_a?(T::Types::TypedArray) || klass.is_a?(T::Types::TypedHash)
return 1
end
return 2
end
end
end

View File

@@ -49,7 +49,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getServerActivities',
security_source: @sdk_configuration.security_source
)
@@ -151,7 +151,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'cancelServerActivities',
security_source: @sdk_configuration.security_source
)

View File

@@ -60,7 +60,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getTransientToken',
security_source: @sdk_configuration.security_source
)
@@ -157,7 +157,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getSourceConnectionInformation',
security_source: @sdk_configuration.security_source
)
@@ -248,7 +248,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getTokenDetails',
security_source: @sdk_configuration.security_source
)
@@ -350,7 +350,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'post-users-sign-in-data',
security_source: nil
)

View File

@@ -43,7 +43,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getButlerTasks',
security_source: @sdk_configuration.security_source
)
@@ -141,7 +141,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'startAllTasks',
security_source: @sdk_configuration.security_source
)
@@ -231,7 +231,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'stopAllTasks',
security_source: @sdk_configuration.security_source
)
@@ -334,7 +334,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'startTask',
security_source: @sdk_configuration.security_source
)
@@ -433,7 +433,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'stopTask',
security_source: @sdk_configuration.security_source
)

View File

@@ -49,7 +49,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getGlobalHubs',
security_source: @sdk_configuration.security_source
)
@@ -145,7 +145,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-recently-added',
security_source: @sdk_configuration.security_source
)
@@ -243,7 +243,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getLibraryHubs',
security_source: @sdk_configuration.security_source
)

View File

@@ -49,7 +49,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getFileHash',
security_source: @sdk_configuration.security_source
)
@@ -141,7 +141,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-recently-added-library',
security_source: @sdk_configuration.security_source
)
@@ -241,7 +241,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-all-libraries',
security_source: @sdk_configuration.security_source
)
@@ -384,7 +384,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-library-details',
security_source: @sdk_configuration.security_source
)
@@ -487,7 +487,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'deleteLibrary',
security_source: @sdk_configuration.security_source
)
@@ -603,7 +603,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-library-items',
security_source: @sdk_configuration.security_source
)
@@ -704,7 +704,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-all-media-library',
security_source: @sdk_configuration.security_source
)
@@ -811,7 +811,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-refresh-library-metadata',
security_source: @sdk_configuration.security_source
)
@@ -930,7 +930,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-search-library',
security_source: @sdk_configuration.security_source
)
@@ -1036,7 +1036,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-genres-library',
security_source: @sdk_configuration.security_source
)
@@ -1143,7 +1143,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-countries-library',
security_source: @sdk_configuration.security_source
)
@@ -1250,7 +1250,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-actors-library',
security_source: @sdk_configuration.security_source
)
@@ -1347,7 +1347,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-search-all-libraries',
security_source: @sdk_configuration.security_source
)
@@ -1448,7 +1448,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-media-meta-data',
security_source: @sdk_configuration.security_source
)
@@ -1552,7 +1552,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-media-arts',
security_source: @sdk_configuration.security_source
)
@@ -1658,7 +1658,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'post-media-arts',
security_source: @sdk_configuration.security_source
)
@@ -1749,7 +1749,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-media-posters',
security_source: @sdk_configuration.security_source
)
@@ -1855,7 +1855,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'post-media-poster',
security_source: @sdk_configuration.security_source
)
@@ -1949,7 +1949,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getMetadataChildren',
security_source: @sdk_configuration.security_source
)
@@ -2050,7 +2050,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'getTopWatchedContent',
security_source: @sdk_configuration.security_source
)

View File

@@ -51,7 +51,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'logLine',
security_source: @sdk_configuration.security_source
)
@@ -173,7 +173,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'logMultiLine',
security_source: @sdk_configuration.security_source
)
@@ -264,7 +264,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'enablePaperTrail',
security_source: @sdk_configuration.security_source
)

View File

@@ -48,7 +48,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'markPlayed',
security_source: @sdk_configuration.security_source
)
@@ -143,7 +143,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'markUnplayed',
security_source: @sdk_configuration.security_source
)
@@ -241,7 +241,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'updatePlayProgress',
security_source: @sdk_configuration.security_source
)
@@ -337,7 +337,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-banner-image',
security_source: @sdk_configuration.security_source
)
@@ -435,7 +435,7 @@ module PlexRubySDK
hook_ctx = SDKHooks::HookContext.new(
base_url: base_url,
oauth2_scopes: nil,
oauth2_scopes: [],
operation_id: 'get-thumb-image',
security_source: @sdk_configuration.security_source
)

File diff suppressed because it is too large Load Diff

View File

@@ -40,6 +40,19 @@ module PlexRubySDK
@subtitle_mode = subtitle_mode
@thumb = thumb
end
def ==(other)
return false unless other.is_a? self.class
return false unless @auto_select_audio == other.auto_select_audio
return false unless @default_audio_language == other.default_audio_language
return false unless @default_subtitle_language == other.default_subtitle_language
return false unless @id == other.id
return false unless @key == other.key
return false unless @name == other.name
return false unless @subtitle_mode == other.subtitle_mode
return false unless @thumb == other.thumb
true
end
end
end
end

View File

@@ -22,6 +22,13 @@ module PlexRubySDK
@id = id
@key = key
end
def ==(other)
return false unless other.is_a? self.class
return false unless @id == other.id
return false unless @key == other.key
true
end
end
end
end

View File

@@ -40,6 +40,19 @@ module PlexRubySDK
@user_id = user_id
@uuid = uuid
end
def ==(other)
return false unless other.is_a? self.class
return false unless @cancellable == other.cancellable
return false unless @context == other.context
return false unless @progress == other.progress
return false unless @subtitle == other.subtitle
return false unless @title == other.title
return false unless @type == other.type
return false unless @user_id == other.user_id
return false unless @uuid == other.uuid
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -28,6 +28,15 @@ module PlexRubySDK
@metadata = metadata
@size = size
end
def ==(other)
return false unless other.is_a? self.class
return false unless @leaf_count_added == other.leaf_count_added
return false unless @leaf_count_requested == other.leaf_count_requested
return false unless @metadata == other.metadata
return false unless @size == other.size
true
end
end
end
end

View File

@@ -55,6 +55,24 @@ module PlexRubySDK
@type = type
@updated_at = updated_at
end
def ==(other)
return false unless other.is_a? self.class
return false unless @added_at == other.added_at
return false unless @composite == other.composite
return false unless @duration == other.duration
return false unless @guid == other.guid
return false unless @key == other.key
return false unless @leaf_count == other.leaf_count
return false unless @playlist_type == other.playlist_type
return false unless @rating_key == other.rating_key
return false unless @smart == other.smart
return false unless @summary == other.summary
return false unless @title == other.title
return false unless @type == other.type
return false unless @updated_at == other.updated_at
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@uri = uri
@play_queue_id = play_queue_id
end
def ==(other)
return false unless other.is_a? self.class
return false unless @playlist_id == other.playlist_id
return false unless @uri == other.uri
return false unless @play_queue_id == other.play_queue_id
true
end
end
end
end

View File

@@ -34,6 +34,17 @@ module PlexRubySDK
@object = object
@unauthorized = unauthorized
end
def ==(other)
return false unless other.is_a? self.class
return false unless @content_type == other.content_type
return false unless @raw_response == other.raw_response
return false unless @status_code == other.status_code
return false unless @bad_request == other.bad_request
return false unless @object == other.object
return false unless @unauthorized == other.unauthorized
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(media_container: nil)
@media_container = media_container
end
def ==(other)
return false unless other.is_a? self.class
return false unless @media_container == other.media_container
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -22,6 +22,13 @@ module PlexRubySDK
@skip = skip
@tonight = tonight
end
def ==(other)
return false unless other.is_a? self.class
return false unless @skip == other.skip
return false unless @tonight == other.tonight
true
end
end
end
end

View File

@@ -31,6 +31,16 @@ module PlexRubySDK
@bad_request = bad_request
@unauthorized = unauthorized
end
def ==(other)
return false unless other.is_a? self.class
return false unless @content_type == other.content_type
return false unless @raw_response == other.raw_response
return false unless @status_code == other.status_code
return false unless @bad_request == other.bad_request
return false unless @unauthorized == other.unauthorized
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -25,6 +25,13 @@ module PlexRubySDK
@internal_payment_method = internal_payment_method
@payment_method_id = payment_method_id
end
def ==(other)
return false unless other.is_a? self.class
return false unless @internal_payment_method == other.internal_payment_method
return false unless @payment_method_id == other.payment_method_id
true
end
end
end
end

View File

@@ -34,6 +34,17 @@ module PlexRubySDK
@schedule_randomized = schedule_randomized
@title = title
end
def ==(other)
return false unless other.is_a? self.class
return false unless @description == other.description
return false unless @enabled == other.enabled
return false unless @interval == other.interval
return false unless @name == other.name
return false unless @schedule_randomized == other.schedule_randomized
return false unless @title == other.title
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(butler_task: nil)
@butler_task = butler_task
end
def ==(other)
return false unless other.is_a? self.class
return false unless @butler_task == other.butler_task
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(activity_uuid: nil)
@activity_uuid = activity_uuid
end
def ==(other)
return false unless other.is_a? self.class
return false unless @activity_uuid == other.activity_uuid
true
end
end
end
end

View File

@@ -31,6 +31,16 @@ module PlexRubySDK
@bad_request = bad_request
@unauthorized = unauthorized
end
def ==(other)
return false unless other.is_a? self.class
return false unless @content_type == other.content_type
return false unless @raw_response == other.raw_response
return false unless @status_code == other.status_code
return false unless @bad_request == other.bad_request
return false unless @unauthorized == other.unauthorized
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(download: nil)
@download = download
end
def ==(other)
return false unless other.is_a? self.class
return false unless @download == other.download
true
end
end
end
end

View File

@@ -31,6 +31,16 @@ module PlexRubySDK
@bad_request = bad_request
@unauthorized = unauthorized
end
def ==(other)
return false unless other.is_a? self.class
return false unless @content_type == other.content_type
return false unless @raw_response == other.raw_response
return false unless @status_code == other.status_code
return false unless @bad_request == other.bad_request
return false unless @unauthorized == other.unauthorized
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(playlist_id: nil)
@playlist_id = playlist_id
end
def ==(other)
return false unless other.is_a? self.class
return false unless @playlist_id == other.playlist_id
true
end
end
end
end

View File

@@ -31,6 +31,16 @@ module PlexRubySDK
@bad_request = bad_request
@unauthorized = unauthorized
end
def ==(other)
return false unless other.is_a? self.class
return false unless @content_type == other.content_type
return false unless @raw_response == other.raw_response
return false unless @status_code == other.status_code
return false unless @bad_request == other.bad_request
return false unless @unauthorized == other.unauthorized
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(tag: nil)
@tag = tag
end
def ==(other)
return false unless other.is_a? self.class
return false unless @tag == other.tag
true
end
end
end
end

View File

@@ -40,6 +40,18 @@ module PlexRubySDK
@relay = relay
@uri = uri
end
def ==(other)
return false unless other.is_a? self.class
return false unless @address == other.address
return false unless @i_pv6 == other.i_pv6
return false unless @local == other.local
return false unless @port == other.port
return false unless @protocol == other.protocol
return false unless @relay == other.relay
return false unless @uri == other.uri
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(library_section_id: nil)
@library_section_id = library_section_id
end
def ==(other)
return false unless other.is_a? self.class
return false unless @library_section_id == other.library_section_id
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@tag = tag
@filter = filter
end
def ==(other)
return false unless other.is_a? self.class
return false unless @id == other.id
return false unless @tag == other.tag
return false unless @filter == other.filter
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -22,6 +22,13 @@ module PlexRubySDK
@metadata = metadata
@size = size
end
def ==(other)
return false unless other.is_a? self.class
return false unless @metadata == other.metadata
return false unless @size == other.size
true
end
end
end
end

View File

@@ -64,6 +64,27 @@ module PlexRubySDK
@updated_at = updated_at
@view_count = view_count
end
def ==(other)
return false unless other.is_a? self.class
return false unless @added_at == other.added_at
return false unless @composite == other.composite
return false unless @duration == other.duration
return false unless @guid == other.guid
return false unless @icon == other.icon
return false unless @key == other.key
return false unless @last_viewed_at == other.last_viewed_at
return false unless @leaf_count == other.leaf_count
return false unless @playlist_type == other.playlist_type
return false unless @rating_key == other.rating_key
return false unless @smart == other.smart
return false unless @summary == other.summary
return false unless @title == other.title
return false unless @type == other.type
return false unless @updated_at == other.updated_at
return false unless @view_count == other.view_count
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

View File

@@ -31,6 +31,16 @@ module PlexRubySDK
@uri = uri
@play_queue_id = play_queue_id
end
def ==(other)
return false unless other.is_a? self.class
return false unless @smart == other.smart
return false unless @title == other.title
return false unless @type == other.type
return false unless @uri == other.uri
return false unless @play_queue_id == other.play_queue_id
true
end
end
end
end

View File

@@ -34,6 +34,17 @@ module PlexRubySDK
@object = object
@unauthorized = unauthorized
end
def ==(other)
return false unless other.is_a? self.class
return false unless @content_type == other.content_type
return false unless @raw_response == other.raw_response
return false unless @status_code == other.status_code
return false unless @bad_request == other.bad_request
return false unless @object == other.object
return false unless @unauthorized == other.unauthorized
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(media_container: nil)
@media_container = media_container
end
def ==(other)
return false unless other.is_a? self.class
return false unless @media_container == other.media_container
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -19,6 +19,12 @@ module PlexRubySDK
def initialize(errors: nil)
@errors = errors
end
def ==(other)
return false unless other.is_a? self.class
return false unless @errors == other.errors
true
end
end
end
end

View File

@@ -25,6 +25,14 @@ module PlexRubySDK
@message = message
@status = status
end
def ==(other)
return false unless other.is_a? self.class
return false unless @code == other.code
return false unless @message == other.message
return false unless @status == other.status
true
end
end
end
end

Some files were not shown because too many files have changed in this diff Show More