Module: Zanox::API

Includes:
HTTParty
Defined in:
lib/zanox/api.rb,
lib/zanox/session.rb,
lib/zanox/exceptions/access_denied.rb,
lib/zanox/exceptions/invalid_request.rb

Defined Under Namespace

Modules: Session Classes: AccessDeniedError, InvalidRequestError

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.debugObject

Returns the value of attribute debug.



32
33
34
# File 'lib/zanox/api.rb', line 32

def debug
  @debug
end

Class Method Details

.debug!Object



42
43
44
# File 'lib/zanox/api.rb', line 42

def debug!
  @debug = true
end

.debug?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/zanox/api.rb', line 38

def debug?
  !!@debug
end

.loggerObject



34
35
36
# File 'lib/zanox/api.rb', line 34

def logger
  @logger ||= Logger.new
end

.request(method, options = {}, headers = {}) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/zanox/api.rb', line 46

def request(method, options = {}, headers = {})
if Session.secret_key
  timestamp, nonce, signature = Session.fingerprint_of(method, options)
  headers.merge!({
    'Authorization' => "ZXWS #{Session.connect_id}:#{signature}",
    'Date'          => timestamp,
    'nonce'         => nonce
  })
else
  options.merge!({ 'connectId' => Session.connect_id })
end

logger.info "Params:  #{options.inspect}"
logger.info "Headers: #{headers.inspect}"
response = get("/json/2011-03-01/#{method}", query: options, headers: headers)
Response.new(response, [method, options, headers]) end