class NetProspex::Client

Attributes

account_balance[R]

Public Class Methods

new(token, secret) click to toggle source
# File lib/netprospex/client.rb, line 11
def initialize(token, secret)
  @token = token
  @secret = secret
end

Public Instance Methods

get(path, query={}) click to toggle source
# File lib/netprospex/client.rb, line 16
def get(path, query={})
  http.get(api_url(path, query)).body
end
post(path, params={}) click to toggle source
# File lib/netprospex/client.rb, line 20
def post(path, params={})
  http.post(api_url(path), params).body
end

Protected Instance Methods

api_base() click to toggle source
# File lib/netprospex/client.rb, line 26
def api_base
  @api_base = "#{NetProspex.scheme}://api.netprospex.com/#{NetProspex.version}"
end
api_url(path, query={}) click to toggle source
# File lib/netprospex/client.rb, line 30
def api_url(path, query={})
  api_base + path + stringify_query(query)
end
http() click to toggle source
# File lib/netprospex/client.rb, line 34
def http
  raise NetProspex::ConfigurationError if api_base.nil?

  @http ||=  Faraday.new do |builder|
    builder.use Faraday::Request::OAuth, {
      consumer_key: NetProspex.consumer_key,
      consumer_secret: NetProspex.consumer_secret,
      token: @token,
      token_secret: @secret
    }

    builder.use NetProspex::Middleware::RaiseExceptions
    builder.use NetProspex::Middleware::Rubyize, content_type: /\bjson$/
    builder.use FaradayMiddleware::ParseJson, content_type: /\bjson$/

    builder.adapter :net_http
  end
end