Module: Api::Configurable

Included in:
Client
Defined in:
lib/api/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

#access_tokenObject

Returns the value of attribute access_token.



31
32
33
# File 'lib/api/configurable.rb', line 31

def access_token
  @access_token
end

#access_token_prefixObject

Returns the value of attribute access_token_prefix.



31
32
33
# File 'lib/api/configurable.rb', line 31

def access_token_prefix
  @access_token_prefix
end

#api_endpointString

Returns Base URL for API requests.

Returns:

  • (String)

    Base URL for API requests.



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

#api_versionString

Returns Version of the api. default: v1.

Returns:

  • (String)

    Version of the api. default: v1



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

#auto_paginateBoolean

Returns Auto fetch next page of results until rate limit reached. Will only work with an Hypermedia API.

Returns:

  • (Boolean)

    Auto fetch next page of results until rate limit reached. Will only work with an Hypermedia API.



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

#basic_loginObject

Returns the value of attribute basic_login.



31
32
33
# File 'lib/api/configurable.rb', line 31

def 
  @basic_login
end

#basic_passwordObject

Returns the value of attribute basic_password.



31
32
33
# File 'lib/api/configurable.rb', line 31

def basic_password
  @basic_password
end

#connection_optionsHash

Returns Configure connection options for Faraday.

Returns:

  • (Hash)

    Configure connection options for Faraday

See Also:



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

#per_pageString

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

Returns:

  • (String)

    Configure page size for paginated results. API default: 30



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

#sawyer_optionsHash

Returns Configure sawyer options.

Returns:

  • (Hash)

    Configure sawyer options

See Also:



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

#user_agentString

Returns Configure User-Agent header for requests.

Returns:

  • (String)

    Configure User-Agent header for requests.



31
# File 'lib/api/configurable.rb', line 31

attr_accessor :access_token, :access_token_prefix, :basic_login, :basic_password, :connection_options, :sawyer_options, :user_agent, :auto_paginate, :per_page

Class Method Details

.keysArray

List of configurable keys for Api::Client

Returns:

  • (Array)

    of option keys



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/api/configurable.rb', line 38

def keys
  @keys ||= [
    :access_token,
    :access_token_prefix,
    :api_endpoint,
    :api_version,
    :auto_paginate,
    :basic_login,
    :basic_password,
    :connection_options,
    :sawyer_options,
    :per_page,
    :user_agent,
  ]
end

Instance Method Details

#configure {|_self| ... } ⇒ Object

Set configuration options using a block

Yields:

  • (_self)

Yield Parameters:



56
57
58
# File 'lib/api/configurable.rb', line 56

def configure
  yield self
end

#reset!(options = {}) ⇒ Object

Reset configuration options to default values



69
70
71
72
73
74
75
76
# File 'lib/api/configurable.rb', line 69

def reset!(options = {})
  default_class = module_defaults || class_defaults
  Api::Configurable.keys.each do |key|
    value = options[key] || default_class.options[key] || Api::Default.options[key]
    instance_variable_set(:"@#{key}", value)
  end
  self
end

#same_options?(opts) ⇒ Boolean

Compares client options to a Hash of requested options

Parameters:

  • opts (Hash)

    Options to compare with current client options

Returns:

  • (Boolean)


64
65
66
# File 'lib/api/configurable.rb', line 64

def same_options?(opts)
  opts.hash == options.hash
end