Class: Milkman::Client

Inherits:
Object
  • Object
show all
Includes:
Utility
Defined in:
lib/milkman/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utility

#default_options, #encode, #format, #request_url, #sign

Constructor Details

#initialize(attributes) ⇒ Client

Returns a new instance of Client.



8
9
10
11
12
13
14
15
# File 'lib/milkman/client.rb', line 8

def initialize(attributes)
  @shared_secret = attributes.delete(:shared_secret)
  @options       = attributes.merge default_options

  if !has_required_options?
    raise NoMilkError, "The API key and shared secret are required."
  end
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



6
7
8
# File 'lib/milkman/client.rb', line 6

def options
  @options
end

#shared_secretObject

Returns the value of attribute shared_secret.



6
7
8
# File 'lib/milkman/client.rb', line 6

def shared_secret
  @shared_secret
end

Instance Method Details

#get(method, request_options = {}) ⇒ Object



17
18
19
20
# File 'lib/milkman/client.rb', line 17

def get(method, request_options = {})
  signed_options = sign shared_secret, options.merge!(method: method).merge!(request_options)
  Milkman::Request.call request_url(signed_options)
end