Module: Karatekit::Configurable

Included in:
Karatekit, Client
Defined in:
lib/karatekit/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.



24
25
26
# File 'lib/karatekit/configurable.rb', line 24

def access_token
  @access_token
end

#api_endpointString

Returns Base URL for API requests. default: api.github.com/.

Returns:



24
25
26
27
# File 'lib/karatekit/configurable.rb', line 24

attr_accessor :access_token, :auto_paginate,
:connection_options, :default_media_type,
:middleware,
:per_page, :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



24
25
26
27
# File 'lib/karatekit/configurable.rb', line 24

attr_accessor :access_token, :auto_paginate,
:connection_options, :default_media_type,
:middleware,
:per_page, :user_agent

#connection_optionsHash

Returns Configure connection options for Faraday.

Returns:

  • (Hash)

    Configure connection options for Faraday

See Also:



24
25
26
27
# File 'lib/karatekit/configurable.rb', line 24

attr_accessor :access_token, :auto_paginate,
:connection_options, :default_media_type,
:middleware,
:per_page, :user_agent

#default_media_typeObject

Returns the value of attribute default_media_type.



24
25
26
# File 'lib/karatekit/configurable.rb', line 24

def default_media_type
  @default_media_type
end

#middlewareFaraday::Builder or Faraday::RackBuilder

Returns Configure middleware for Faraday.

Returns:

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

    Configure middleware for Faraday

See Also:



24
25
26
27
# File 'lib/karatekit/configurable.rb', line 24

attr_accessor :access_token, :auto_paginate,
:connection_options, :default_media_type,
:middleware,
:per_page, :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



24
25
26
27
# File 'lib/karatekit/configurable.rb', line 24

attr_accessor :access_token, :auto_paginate,
:connection_options, :default_media_type,
:middleware,
:per_page, :user_agent

#user_agentString

Returns Configure User-Agent header for requests.

Returns:

  • (String)

    Configure User-Agent header for requests.



24
25
26
27
# File 'lib/karatekit/configurable.rb', line 24

attr_accessor :access_token, :auto_paginate,
:connection_options, :default_media_type,
:middleware,
:per_page, :user_agent

Class Method Details

.keysArray

List of configurable keys for Karatekit::Client

Returns:

  • (Array)

    of option keys



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/karatekit/configurable.rb', line 34

def keys
  @keys ||= [
    :access_token,
    :api_endpoint,
    :default_media_type,
    :auto_paginate,
    :connection_options,
    :middleware,
    :per_page,
    :user_agent,
  ]
end

Instance Method Details

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

Set configuration options using a block

Yields:

  • (_self)

Yield Parameters:



49
50
51
# File 'lib/karatekit/configurable.rb', line 49

def configure
  yield self
end

#reset!Object Also known as: setup

Reset configuration options to default values



54
55
56
57
58
59
# File 'lib/karatekit/configurable.rb', line 54

def reset!
  Karatekit::Configurable.keys.each do |key|
    instance_variable_set(:"@#{key}", Karatekit::Default.options[key])
  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)


66
67
68
# File 'lib/karatekit/configurable.rb', line 66

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