Module: Ohanakapa::Configurable

Included in:
Ohanakapa, Client
Defined in:
lib/ohanakapa/configurable.rb

Overview

Configuration options for Client, defaulting to values in Default

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#api_endpointString

Returns Base URL for API requests. default: ohana-api-demo.herokuapp.com/api.

Returns:



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.

Returns:

  • (String)

    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_paginateBoolean

Returns Auto fetch next page of results until rate limit reached.

Returns:

  • (Boolean)

    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_optionsHash

Returns Configure connection options for Faraday.

Returns:

  • (Hash)

    Configure connection options for Faraday

See Also:



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_typeString

Returns Configure preferred media type (for API versioning, for example).

Returns:

  • (String)

    Configure preferred media type (for API versioning, for example)

See Also:



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

#middlewareFaraday::Builder or Faraday::RackBuilder

Returns Configure middleware for Faraday.

Returns:

  • (Faraday::Builder or Faraday::RackBuilder)

    Configure middleware for Faraday

See Also:



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_pageString

Returns Configure page size for paginated results. API default: 30.

Returns:

  • (String)

    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

#proxyString

Returns URI for proxy server.

Returns:

  • (String)

    URI for proxy server

See Also:



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_agentString

Returns Configure User-Agent header for requests.

Returns:

  • (String)

    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

.keysArray

List of configurable keys for Ohanakapa::Client

Returns:

  • (Array)

    of option keys



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

Yields:

  • (_self)

Yield Parameters:



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.options[key])
  end
  self
end