Class: Contentful::Management::Client
- Inherits:
-
Object
- Object
- Contentful::Management::Client
- Defined in:
- lib/contentful/management/client.rb
Overview
Client for interacting with the Contentful Management API
Constant Summary collapse
- DEFAULT_CONFIGURATION =
Default configuration for Contentful::Management::Client
{ api_url: 'api.contentful.com', uploads_url: 'upload.contentful.com', api_version: '1', secure: true, default_locale: 'en-US', gzip_encoded: false, logger: false, log_level: Logger::INFO, raise_errors: false, dynamic_entries: {}, disable_content_type_caching: false, proxy_host: nil, proxy_port: nil, proxy_username: nil, proxy_password: nil, max_rate_limit_retries: 1, max_rate_limit_wait: 60, application_name: nil, application_version: nil, integration_name: nil, integration_version: nil }.freeze
- RATE_LIMIT_RESET_HEADER_KEY =
Rate Limit Reset Header Key
'x-contentful-ratelimit-reset'.freeze
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#content_type_id ⇒ Object
Returns the value of attribute content_type_id.
-
#dynamic_entry_cache ⇒ Object
Returns the value of attribute dynamic_entry_cache.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#organization_id ⇒ Object
Returns the value of attribute organization_id.
-
#version ⇒ Object
Returns the value of attribute version.
Instance Method Summary collapse
-
#api_keys(space_id) ⇒ Contentful::Management::ClientApiKeyMethodsFactory
Allows manipulation of api keys in context of the current client Allows listing all api keys for client, creating new and finding one by ID.
-
#assets(space_id, environment_id) ⇒ Contentful::Management::ClientAssetMethodsFactory
Allows manipulation of assets in context of the current client Allows listing all assets for client, creating new and finding one by ID.
-
#content_type_snapshots(space_id, environment_id) ⇒ Contentful::Management::ClientSnapshotMethodsFactory
Allows manipulation of content type snapshots in context of the current client Allows listing all content type snapshots for client and finding one by ID.
-
#content_types(space_id, environment_id) ⇒ Contentful::Management::ClientContentTypeMethodsFactory
Allows manipulation of content types in context of the current client Allows listing all content types for client, creating new and finding one by ID.
-
#editor_interfaces(space_id, environment_id, content_type_id) ⇒ Contentful::Management::ClientEditorInterfaceMethodsFactory
Allows manipulation of editor interfaces in context of the current client Allows listing all editor interfaces for client and finding one by content type.
-
#entries(space_id, environment_id) ⇒ Contentful::Management::ClientEntryMethodsFactory
Allows manipulation of entries in context of the current client Allows listing all entries for client, creating new and finding one by ID.
-
#entry_snapshots(space_id, environment_id) ⇒ Contentful::Management::ClientSnapshotMethodsFactory
Allows manipulation of entry snapshots in context of the current client Allows listing all entry snapshots for client and finding one by ID.
-
#environments(space_id) ⇒ Contentful::Management::ClientEnvironmentMethodsFactory
Allows manipulation of environments in context of the current client Allows listing all environments for client, creating new and finding one by ID.
-
#http_send(type, url, params, headers, proxy) ⇒ HTTP::Response
HTTP Helper Abtracts the Proxy/No-Proxy logic.
-
#initialize(access_token = nil, configuration = {}) ⇒ Client
constructor
A new instance of Client.
-
#locales(space_id, environment_id) ⇒ Contentful::Management::ClientLocaleMethodsFactory
Allows manipulation of locales in context of the current client Allows listing all locales for client, creating new and finding one by ID.
-
#organizations ⇒ Contentful::Management::ClientOrganizationMethodsFactory
Allows viewing of organizations in context of the current client Allows listing all organizations for client.
-
#personal_access_tokens ⇒ Contentful::Management::ClientPersonalAccessTokenMethodsFactory
Allows manipulation of personal access tokens in context of the current client Allows listing all personal access tokens for client, creating new and finding one by ID.
-
#preview_api_keys(space_id) ⇒ Contentful::Management::ClientPreviewApiKeyMethodsFactory
Allows manipulation of api keys in context of the current client Allows listing all preview api keys for client and finding one by ID.
-
#proxy_send(type, url, params, headers, proxy) ⇒ HTTP::Response
Proxy Helper.
-
#roles(space_id) ⇒ Contentful::Management::ClientRoleMethodsFactory
Allows manipulation of roles in context of the current client Allows listing all roles for client, creating new and finding one by ID.
-
#snapshots(space_id, environment_id, resource_type = 'entries') ⇒ Contentful::Management::ClientSnapshotMethodsFactory
Allows manipulation of snapshots in context of the current client Allows listing all snapshots for client and finding one by ID.
-
#space_memberships(space_id) ⇒ Contentful::Management::ClientSpaceMembershipMethodsFactory
Allows manipulation of space memberships in context of the current client Allows listing all space memberships for client, creating new and finding one by ID.
-
#spaces ⇒ Contentful::Management::ClientSpaceMethodsFactory
Allows manipulation of spaces in context of the current client Allows listing all spaces for client, creating new and finding one by ID.
-
#ui_extensions(space_id, environment_id) ⇒ Contentful::Management::ClientUIExtensionMethodsFactory
Allows manipulation of UI extensions in context of the current client Allows listing all UI extensions for client, creating new and finding one by ID.
-
#uploads(space_id) ⇒ Contentful::Management::ClientUploadMethodsFactory
Allows manipulation of uploads in context of the current client Allows creating new and finding uploads by ID.
-
#users ⇒ Contentful::Management::ClientUserMethodsFactory
Allows viewing of users in context of the current client Allows listing all users for client.
-
#webhook_calls(space_id, webhook_id) ⇒ Contentful::Management::ClientWebhookCallMethodsFactory
Allows manipulation of webhook calls in context of the current client Allows listing all webhook call details for client and finding one by ID.
-
#webhook_health(space_id) ⇒ Contentful::Management::ClientWebhookHealthMethodsFactory
Allows manipulation of webhook health in context of the current client Allows listing all webhook health details for client and finding one by ID.
-
#webhooks(space_id) ⇒ Contentful::Management::ClientWebhookMethodsFactory
Allows manipulation of webhooks in context of the current client Allows listing all webhooks for client, creating new and finding one by ID.
Constructor Details
#initialize(access_token = nil, configuration = {}) ⇒ Client
Returns a new instance of Client.
89 90 91 92 93 94 95 96 |
# File 'lib/contentful/management/client.rb', line 89 def initialize(access_token = nil, configuration = {}) @configuration = default_configuration.merge(configuration) setup_logger @access_token = access_token @dynamic_entry_cache = {} Thread.current[:client] = self update_all_dynamic_entry_cache! end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
39 40 41 |
# File 'lib/contentful/management/client.rb', line 39 def access_token @access_token end |
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
39 40 41 |
# File 'lib/contentful/management/client.rb', line 39 def configuration @configuration end |
#content_type_id ⇒ Object
Returns the value of attribute content_type_id.
40 41 42 |
# File 'lib/contentful/management/client.rb', line 40 def content_type_id @content_type_id end |
#dynamic_entry_cache ⇒ Object
Returns the value of attribute dynamic_entry_cache.
40 41 42 |
# File 'lib/contentful/management/client.rb', line 40 def dynamic_entry_cache @dynamic_entry_cache end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
39 40 41 |
# File 'lib/contentful/management/client.rb', line 39 def logger @logger end |
#organization_id ⇒ Object
Returns the value of attribute organization_id.
40 41 42 |
# File 'lib/contentful/management/client.rb', line 40 def organization_id @organization_id end |
#version ⇒ Object
Returns the value of attribute version.
40 41 42 |
# File 'lib/contentful/management/client.rb', line 40 def version @version end |
Instance Method Details
#api_keys(space_id) ⇒ Contentful::Management::ClientApiKeyMethodsFactory
Allows manipulation of api keys in context of the current client Allows listing all api keys for client, creating new and finding one by ID.
148 149 150 |
# File 'lib/contentful/management/client.rb', line 148 def api_keys(space_id) ClientApiKeyMethodsFactory.new(self, space_id) end |
#assets(space_id, environment_id) ⇒ Contentful::Management::ClientAssetMethodsFactory
Allows manipulation of assets in context of the current client Allows listing all assets for client, creating new and finding one by ID.
175 176 177 |
# File 'lib/contentful/management/client.rb', line 175 def assets(space_id, environment_id) ClientAssetMethodsFactory.new(self, space_id, environment_id) end |
#content_type_snapshots(space_id, environment_id) ⇒ Contentful::Management::ClientSnapshotMethodsFactory
Allows manipulation of content type snapshots in context of the current client Allows listing all content type snapshots for client and finding one by ID.
292 293 294 |
# File 'lib/contentful/management/client.rb', line 292 def content_type_snapshots(space_id, environment_id) ClientSnapshotMethodsFactory.new(self, space_id, environment_id, 'content_types') end |
#content_types(space_id, environment_id) ⇒ Contentful::Management::ClientContentTypeMethodsFactory
Allows manipulation of content types in context of the current client Allows listing all content types for client, creating new and finding one by ID.
184 185 186 |
# File 'lib/contentful/management/client.rb', line 184 def content_types(space_id, environment_id) ClientContentTypeMethodsFactory.new(self, space_id, environment_id) end |
#editor_interfaces(space_id, environment_id, content_type_id) ⇒ Contentful::Management::ClientEditorInterfaceMethodsFactory
Allows manipulation of editor interfaces in context of the current client Allows listing all editor interfaces for client and finding one by content type.
229 230 231 |
# File 'lib/contentful/management/client.rb', line 229 def editor_interfaces(space_id, environment_id, content_type_id) ClientEditorInterfaceMethodsFactory.new(self, space_id, environment_id, content_type_id) end |
#entries(space_id, environment_id) ⇒ Contentful::Management::ClientEntryMethodsFactory
Allows manipulation of entries in context of the current client Allows listing all entries for client, creating new and finding one by ID.
193 194 195 |
# File 'lib/contentful/management/client.rb', line 193 def entries(space_id, environment_id) ClientEntryMethodsFactory.new(self, space_id, environment_id) end |
#entry_snapshots(space_id, environment_id) ⇒ Contentful::Management::ClientSnapshotMethodsFactory
Allows manipulation of entry snapshots in context of the current client Allows listing all entry snapshots for client and finding one by ID.
283 284 285 |
# File 'lib/contentful/management/client.rb', line 283 def entry_snapshots(space_id, environment_id) ClientSnapshotMethodsFactory.new(self, space_id, environment_id, 'entries') end |
#environments(space_id) ⇒ Contentful::Management::ClientEnvironmentMethodsFactory
Allows manipulation of environments in context of the current client Allows listing all environments for client, creating new and finding one by ID.
112 113 114 |
# File 'lib/contentful/management/client.rb', line 112 def environments(space_id) ClientEnvironmentMethodsFactory.new(self, space_id) end |
#http_send(type, url, params, headers, proxy) ⇒ HTTP::Response
HTTP Helper Abtracts the Proxy/No-Proxy logic
474 475 476 477 |
# File 'lib/contentful/management/client.rb', line 474 def http_send(type, url, params, headers, proxy) return proxy_send(type, url, params, headers, proxy) unless proxy[:host].nil? HTTP[headers].public_send(type, url, params) end |
#locales(space_id, environment_id) ⇒ Contentful::Management::ClientLocaleMethodsFactory
Allows manipulation of locales in context of the current client Allows listing all locales for client, creating new and finding one by ID.
202 203 204 |
# File 'lib/contentful/management/client.rb', line 202 def locales(space_id, environment_id) ClientLocaleMethodsFactory.new(self, space_id, environment_id) end |
#organizations ⇒ Contentful::Management::ClientOrganizationMethodsFactory
Allows viewing of organizations in context of the current client Allows listing all organizations for client.
130 131 132 |
# File 'lib/contentful/management/client.rb', line 130 def organizations ClientOrganizationMethodsFactory.new(self) end |
#personal_access_tokens ⇒ Contentful::Management::ClientPersonalAccessTokenMethodsFactory
Allows manipulation of personal access tokens in context of the current client Allows listing all personal access tokens for client, creating new and finding one by ID.
166 167 168 |
# File 'lib/contentful/management/client.rb', line 166 def personal_access_tokens ClientPersonalAccessTokenMethodsFactory.new(self) end |
#preview_api_keys(space_id) ⇒ Contentful::Management::ClientPreviewApiKeyMethodsFactory
Allows manipulation of api keys in context of the current client Allows listing all preview api keys for client and finding one by ID.
157 158 159 |
# File 'lib/contentful/management/client.rb', line 157 def preview_api_keys(space_id) ClientPreviewApiKeyMethodsFactory.new(self, space_id) end |
#proxy_send(type, url, params, headers, proxy) ⇒ HTTP::Response
Proxy Helper
455 456 457 458 459 460 461 462 |
# File 'lib/contentful/management/client.rb', line 455 def proxy_send(type, url, params, headers, proxy) HTTP[headers].via( proxy[:host], proxy[:port], proxy[:username], proxy[:password] ).public_send(type, url, params) end |
#roles(space_id) ⇒ Contentful::Management::ClientRoleMethodsFactory
Allows manipulation of roles in context of the current client Allows listing all roles for client, creating new and finding one by ID.
211 212 213 |
# File 'lib/contentful/management/client.rb', line 211 def roles(space_id) ClientRoleMethodsFactory.new(self, space_id) end |
#snapshots(space_id, environment_id, resource_type = 'entries') ⇒ Contentful::Management::ClientSnapshotMethodsFactory
Allows manipulation of snapshots in context of the current client Allows listing all snapshots for client and finding one by ID.
274 275 276 |
# File 'lib/contentful/management/client.rb', line 274 def snapshots(space_id, environment_id, resource_type = 'entries') ClientSnapshotMethodsFactory.new(self, space_id, environment_id, resource_type) end |
#space_memberships(space_id) ⇒ Contentful::Management::ClientSpaceMembershipMethodsFactory
Allows manipulation of space memberships in context of the current client Allows listing all space memberships for client, creating new and finding one by ID.
121 122 123 |
# File 'lib/contentful/management/client.rb', line 121 def space_memberships(space_id) ClientSpaceMembershipMethodsFactory.new(self, space_id) end |
#spaces ⇒ Contentful::Management::ClientSpaceMethodsFactory
Allows manipulation of spaces in context of the current client Allows listing all spaces for client, creating new and finding one by ID.
103 104 105 |
# File 'lib/contentful/management/client.rb', line 103 def spaces ClientSpaceMethodsFactory.new(self) end |
#ui_extensions(space_id, environment_id) ⇒ Contentful::Management::ClientUIExtensionMethodsFactory
Allows manipulation of UI extensions in context of the current client Allows listing all UI extensions for client, creating new and finding one by ID.
220 221 222 |
# File 'lib/contentful/management/client.rb', line 220 def ui_extensions(space_id, environment_id) ClientUIExtensionMethodsFactory.new(self, space_id, environment_id) end |
#uploads(space_id) ⇒ Contentful::Management::ClientUploadMethodsFactory
Allows manipulation of uploads in context of the current client Allows creating new and finding uploads by ID.
265 266 267 |
# File 'lib/contentful/management/client.rb', line 265 def uploads(space_id) ClientUploadMethodsFactory.new(self, space_id) end |
#users ⇒ Contentful::Management::ClientUserMethodsFactory
Allows viewing of users in context of the current client Allows listing all users for client.
139 140 141 |
# File 'lib/contentful/management/client.rb', line 139 def users ClientUserMethodsFactory.new(self) end |
#webhook_calls(space_id, webhook_id) ⇒ Contentful::Management::ClientWebhookCallMethodsFactory
Allows manipulation of webhook calls in context of the current client Allows listing all webhook call details for client and finding one by ID.
247 248 249 |
# File 'lib/contentful/management/client.rb', line 247 def webhook_calls(space_id, webhook_id) ClientWebhookCallMethodsFactory.new(self, space_id, webhook_id) end |
#webhook_health(space_id) ⇒ Contentful::Management::ClientWebhookHealthMethodsFactory
Allows manipulation of webhook health in context of the current client Allows listing all webhook health details for client and finding one by ID.
256 257 258 |
# File 'lib/contentful/management/client.rb', line 256 def webhook_health(space_id) ClientWebhookHealthMethodsFactory.new(self, space_id) end |
#webhooks(space_id) ⇒ Contentful::Management::ClientWebhookMethodsFactory
Allows manipulation of webhooks in context of the current client Allows listing all webhooks for client, creating new and finding one by ID.
238 239 240 |
# File 'lib/contentful/management/client.rb', line 238 def webhooks(space_id) ClientWebhookMethodsFactory.new(self, space_id) end |