Module: Echowrap::Configurable

Extended by:
Forwardable
Included in:
Echowrap, Client
Defined in:
lib/echowrap/configurable.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#api_key=(value) ⇒ Object (writeonly)

Sets the attribute api_key

Parameters:

  • value

    the value to set the attribute api_key to.



8
9
10
# File 'lib/echowrap/configurable.rb', line 8

def api_key=(value)
  @api_key = value
end

#connection_optionsObject

Returns the value of attribute connection_options.



9
10
11
# File 'lib/echowrap/configurable.rb', line 9

def connection_options
  @connection_options
end

#consumer_key=(value) ⇒ Object (writeonly)

Sets the attribute consumer_key

Parameters:

  • value

    the value to set the attribute consumer_key to.



8
9
10
# File 'lib/echowrap/configurable.rb', line 8

def consumer_key=(value)
  @consumer_key = value
end

#endpointObject

Returns the value of attribute endpoint.



9
10
11
# File 'lib/echowrap/configurable.rb', line 9

def endpoint
  @endpoint
end

#middlewareObject

Returns the value of attribute middleware.



9
10
11
# File 'lib/echowrap/configurable.rb', line 9

def middleware
  @middleware
end

#shared_secret=(value) ⇒ Object (writeonly)

Sets the attribute shared_secret

Parameters:

  • value

    the value to set the attribute shared_secret to.



8
9
10
# File 'lib/echowrap/configurable.rb', line 8

def shared_secret=(value)
  @shared_secret = value
end

Class Method Details

.keysObject



13
14
15
16
17
18
19
20
21
22
# File 'lib/echowrap/configurable.rb', line 13

def keys
  @keys ||= [
    :api_key,
    :consumer_key,
    :shared_secret,
    :endpoint,
    :connection_options,
    :middleware,
  ]
end

Instance Method Details

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

Convenience method to allow configuration options to be set in a block

Yields:

  • (_self)

Yield Parameters:

Raises:



29
30
31
32
33
# File 'lib/echowrap/configurable.rb', line 29

def configure
  yield self
  validate_credential_type!
  self
end

#credentials?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/echowrap/configurable.rb', line 36

def credentials?
  credentials.values.all?
end

#reset!Object Also known as: setup



40
41
42
43
44
45
# File 'lib/echowrap/configurable.rb', line 40

def reset!
  Echowrap::Configurable.keys.each do |key|
    instance_variable_set(:"@#{key}", Echowrap::Default.options[key])
  end
  self
end