Module: Ohanakapa::Configurable
Overview
Instance Attribute Summary collapse
-
#api_endpoint ⇒ String
Base URL for API requests.
-
#api_token ⇒ String
writeonly
Configure OAuth app secret.
-
#auto_paginate ⇒ Boolean
Auto fetch next page of results until rate limit reached.
-
#connection_options ⇒ Hash
Configure connection options for Faraday.
-
#default_media_type ⇒ String
Configure preferred media type (for API versioning, for example).
-
#middleware ⇒ Faraday::Builder or Faraday::RackBuilder
Configure middleware for Faraday.
-
#per_page ⇒ String
Configure page size for paginated results.
-
#proxy ⇒ String
URI for proxy server.
-
#user_agent ⇒ String
Configure User-Agent header for requests.
Class Method Summary collapse
-
.keys ⇒ Array
List of configurable keys for Client.
Instance Method Summary collapse
-
#configure {|_self| ... } ⇒ Object
Set configuration options using a block.
-
#reset! ⇒ Object
(also: #setup)
Reset configuration options to default values.
Instance Attribute Details
#api_endpoint ⇒ String
Returns Base URL for API requests. default: ohana-api-demo.herokuapp.com/api.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#api_token=(value) ⇒ String (writeonly)
Returns Configure OAuth app secret.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#auto_paginate ⇒ Boolean
Returns Auto fetch next page of results until rate limit reached.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 def auto_paginate @auto_paginate end |
#connection_options ⇒ Hash
Returns Configure connection options for Faraday.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#default_media_type ⇒ String
Returns Configure preferred media type (for API versioning, for example).
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#middleware ⇒ Faraday::Builder or Faraday::RackBuilder
Returns Configure middleware for Faraday.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#per_page ⇒ String
Returns Configure page size for paginated results. API default: 30.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#proxy ⇒ String
Returns URI for proxy server.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
#user_agent ⇒ String
Returns Configure User-Agent header for requests.
29 30 31 |
# File 'lib/ohanakapa/configurable.rb', line 29 attr_accessor :auto_paginate, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent |
Class Method Details
.keys ⇒ Array
List of configurable keys for Ohanakapa::Client
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/ohanakapa/configurable.rb', line 38 def keys @keys ||= [ :api_endpoint, :auto_paginate, :api_token, :connection_options, :default_media_type, :middleware, :per_page, :proxy, :user_agent ] end |
Instance Method Details
#configure {|_self| ... } ⇒ Object
Set configuration options using a block
54 55 56 |
# File 'lib/ohanakapa/configurable.rb', line 54 def configure yield self end |
#reset! ⇒ Object Also known as: setup
Reset configuration options to default values
59 60 61 62 63 64 |
# File 'lib/ohanakapa/configurable.rb', line 59 def reset! Ohanakapa::Configurable.keys.each do |key| instance_variable_set(:"@#{key}", Ohanakapa::Default.[key]) end self end |