Class: Contentful::Client
- Inherits:
-
Object
- Object
- Contentful::Client
- Defined in:
- lib/contentful/client.rb
Overview
The client object is initialized with a space and a key and then used for querying resources from this space. See README for details
Constant Summary collapse
- DEFAULT_CONFIGURATION =
Default configuration for Contentful::Client
{ secure: true, raise_errors: true, dynamic_entries: :manual, api_url: 'cdn.contentful.com', api_version: 1, authentication_mechanism: :header, resource_builder: ResourceBuilder, resource_mapping: {}, entry_mapping: {}, default_locale: 'en-US', raw_mode: false, gzip_encoded: true, logger: false, log_level: Logger::INFO, proxy_host: nil, proxy_username: nil, proxy_password: nil, proxy_port: nil, max_rate_limit_retries: 1, max_rate_limit_wait: 60, max_include_resolution_depth: 20 }
- RATE_LIMIT_RESET_HEADER_KEY =
Rate Limit Reset Header Key
'x-contentful-ratelimit-reset'
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#proxy ⇒ Object
readonly
Returns the value of attribute proxy.
Instance Method Summary collapse
-
#asset(id, query = {}) ⇒ Contentful::Asset
Gets a specific asset.
-
#assets(query = {}) ⇒ Contentful::Array<Contentful::Asset>
Gets a collection of assets.
-
#content_type(id, query = {}) ⇒ Contentful::ContentType
Gets a specific content type.
-
#content_types(query = {}) ⇒ Contentful::Array<Contentful::ContentType>
Gets a collection of content types.
-
#entries(query = {}) ⇒ Contentful::Array<Contentful::Entry>
Gets a collection of entries.
-
#entry(id, query = {}) ⇒ Contentful::Entry
Gets a specific entry.
-
#initialize(given_configuration = {}) ⇒ Client
constructor
A new instance of Client.
-
#space(query = {}) ⇒ Contentful::Space
Gets the client’s space.
-
#sync(options = { initial: true }) ⇒ Contentful::Sync
Create a new synchronisation object.
Constructor Details
#initialize(given_configuration = {}) ⇒ Client
Returns a new instance of Client.
76 77 78 79 80 81 82 83 |
# File 'lib/contentful/client.rb', line 76 def initialize(given_configuration = {}) @configuration = default_configuration.merge(given_configuration) normalize_configuration! validate_configuration! setup_logger update_dynamic_entry_cache! if configuration[:dynamic_entries] == :auto end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
42 43 44 |
# File 'lib/contentful/client.rb', line 42 def configuration @configuration end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
42 43 44 |
# File 'lib/contentful/client.rb', line 42 def logger @logger end |
#proxy ⇒ Object (readonly)
Returns the value of attribute proxy.
42 43 44 |
# File 'lib/contentful/client.rb', line 42 def proxy @proxy end |
Instance Method Details
#asset(id, query = {}) ⇒ Contentful::Asset
Gets a specific asset
167 168 169 |
# File 'lib/contentful/client.rb', line 167 def asset(id, query = {}) Request.new(self, '/assets', query, id).get end |
#assets(query = {}) ⇒ Contentful::Array<Contentful::Asset>
Gets a collection of assets
176 177 178 179 |
# File 'lib/contentful/client.rb', line 176 def assets(query = {}) normalize_select!(query) Request.new(self, '/assets', query).get end |
#content_type(id, query = {}) ⇒ Contentful::ContentType
Gets a specific content type
122 123 124 |
# File 'lib/contentful/client.rb', line 122 def content_type(id, query = {}) Request.new(self, '/content_types', query, id).get end |
#content_types(query = {}) ⇒ Contentful::Array<Contentful::ContentType>
Gets a collection of content types
131 132 133 |
# File 'lib/contentful/client.rb', line 131 def content_types(query = {}) Request.new(self, '/content_types', query).get end |
#entries(query = {}) ⇒ Contentful::Array<Contentful::Entry>
Gets a collection of entries
156 157 158 159 |
# File 'lib/contentful/client.rb', line 156 def entries(query = {}) normalize_select!(query) Request.new(self, '/entries', query).get end |
#entry(id, query = {}) ⇒ Contentful::Entry
Gets a specific entry
141 142 143 144 145 146 147 148 149 |
# File 'lib/contentful/client.rb', line 141 def entry(id, query = {}) normalize_select!(query) query['sys.id'] = id entries = Request.new(self, '/entries', query).get return entries if configuration[:raw_mode] entries.first end |
#space(query = {}) ⇒ Contentful::Space
Gets the client’s space
112 113 114 |
# File 'lib/contentful/client.rb', line 112 def space(query = {}) Request.new(self, '', query).get end |
#sync(options = { initial: true }) ⇒ Contentful::Sync
You will need to call #each_page or #first_page on it
Create a new synchronisation object
310 311 312 |
# File 'lib/contentful/client.rb', line 310 def sync( = { initial: true }) Sync.new(self, ) end |