Class: Uploadcare::Client
- Inherits:
-
Object
- Object
- Uploadcare::Client
- Defined in:
- lib/uploadcare/client.rb
Overview
Primary entry point for interacting with the Uploadcare API.
Each Client instance owns its own configuration and provides domain-scoped accessors for all API operations. Multiple clients can coexist for multi-account support.
Defined Under Namespace
Classes: AddonsAccessor, Api, ConversionsAccessor, DocumentConversionsAccessor, FileMetadataAccessor, FilesAccessor, GroupsAccessor, ProjectAccessor, VideoConversionsAccessor, WebhooksAccessor
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#addons ⇒ Uploadcare::Client::AddonsAccessor
Access add-on execution helpers.
-
#api ⇒ Uploadcare::Client::Api
Access the raw endpoint-parity API.
-
#conversions ⇒ Uploadcare::Client::ConversionsAccessor
Access conversion helpers.
-
#file_metadata ⇒ Uploadcare::Client::FileMetadataAccessor
Access file metadata operations.
-
#files ⇒ Uploadcare::Client::FilesAccessor
Access file operations and upload helpers.
-
#groups ⇒ Uploadcare::Client::GroupsAccessor
Access group operations.
-
#initialize(config: nil, **options) ⇒ Client
constructor
Build a client bound to a specific configuration.
-
#project ⇒ Uploadcare::Client::ProjectAccessor
Access project operations.
-
#upload(source, request_options: {}, **options) {|Hash| ... } ⇒ Uploadcare::Resources::File, ...
Upload a source through the convenience upload router.
-
#uploads ⇒ Uploadcare::Operations::UploadRouter
Access upload routing helpers.
-
#webhooks ⇒ Uploadcare::Client::WebhooksAccessor
Access webhook operations.
-
#with(**options) ⇒ Uploadcare::Client
Build a new client derived from this client.
Constructor Details
#initialize(config: nil, **options) ⇒ Client
Build a client bound to a specific configuration.
29 30 31 32 33 |
# File 'lib/uploadcare/client.rb', line 29 def initialize(config: nil, **) base_config = config || Uploadcare.configuration @config = base_config.with(**) @memo_mutex = Mutex.new end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
23 24 25 |
# File 'lib/uploadcare/client.rb', line 23 def config @config end |
Instance Method Details
#addons ⇒ Uploadcare::Client::AddonsAccessor
Access add-on execution helpers.
88 89 90 |
# File 'lib/uploadcare/client.rb', line 88 def addons memoized(:@addons) { AddonsAccessor.new(client: self) } end |
#api ⇒ Uploadcare::Client::Api
Access the raw endpoint-parity API.
46 47 48 |
# File 'lib/uploadcare/client.rb', line 46 def api memoized(:@api) { Api.new(config: config) } end |
#conversions ⇒ Uploadcare::Client::ConversionsAccessor
Access conversion helpers.
102 103 104 |
# File 'lib/uploadcare/client.rb', line 102 def conversions memoized(:@conversions) { ConversionsAccessor.new(client: self) } end |
#file_metadata ⇒ Uploadcare::Client::FileMetadataAccessor
Access file metadata operations.
95 96 97 |
# File 'lib/uploadcare/client.rb', line 95 def memoized(:@file_metadata) { FileMetadataAccessor.new(client: self) } end |
#files ⇒ Uploadcare::Client::FilesAccessor
Access file operations and upload helpers.
53 54 55 |
# File 'lib/uploadcare/client.rb', line 53 def files memoized(:@files) { FilesAccessor.new(client: self) } end |
#groups ⇒ Uploadcare::Client::GroupsAccessor
Access group operations.
60 61 62 |
# File 'lib/uploadcare/client.rb', line 60 def groups memoized(:@groups) { GroupsAccessor.new(client: self) } end |
#project ⇒ Uploadcare::Client::ProjectAccessor
Access project operations.
74 75 76 |
# File 'lib/uploadcare/client.rb', line 74 def project memoized(:@project) { ProjectAccessor.new(client: self) } end |
#upload(source, request_options: {}, **options) {|Hash| ... } ⇒ Uploadcare::Resources::File, ...
Upload a source through the convenience upload router.
113 114 115 |
# File 'lib/uploadcare/client.rb', line 113 def upload(source, request_options: {}, **, &block) uploads.upload(source, request_options: , **, &block) end |
#uploads ⇒ Uploadcare::Operations::UploadRouter
Access upload routing helpers.
67 68 69 |
# File 'lib/uploadcare/client.rb', line 67 def uploads memoized(:@uploads) { Uploadcare::Operations::UploadRouter.new(client: self) } end |
#webhooks ⇒ Uploadcare::Client::WebhooksAccessor
Access webhook operations.
81 82 83 |
# File 'lib/uploadcare/client.rb', line 81 def webhooks memoized(:@webhooks) { WebhooksAccessor.new(client: self) } end |
#with(**options) ⇒ Uploadcare::Client
Build a new client derived from this client.
39 40 41 |
# File 'lib/uploadcare/client.rb', line 39 def with(**) self.class.new(config: config, **) end |