class Filter8::Client
Constants
- API_ENDPOINT
- API_URL
Attributes
api_key[RW]
api_secret[RW]
Public Class Methods
new(api_key: nil, api_secret: nil, options: {})
click to toggle source
# File lib/filter8/client.rb, line 13 def initialize(api_key: nil, api_secret: nil, options: {}) @api_key = api_key @api_secret = api_secret @options = options end
Public Instance Methods
nonce_param()
click to toggle source
# File lib/filter8/client.rb, line 33 def nonce_param "nonce=#{timestamp}" end
password()
click to toggle source
# File lib/filter8/client.rb, line 37 def password Digest::MD5.hexdigest("#{timestamp}#{self.api_secret}") end
send_request(filter8_request)
click to toggle source
# File lib/filter8/client.rb, line 19 def send_request(filter8_request) conn = Faraday.new(:url => API_URL) do |faraday| faraday.request :url_encoded faraday.adapter Faraday.default_adapter end conn.basic_auth self.api_key, password response = conn.post "#{API_ENDPOINT}?#{nonce_param}", filter8_request.request_params raise Exception.new("Filter8-API error (Status: #{response.status}): #{response.body}") if(response.status != 200) Filter8::Result.new JSON.parse(response.body) end
timestamp()
click to toggle source
# File lib/filter8/client.rb, line 41 def timestamp @timestamp ||= Time.now.to_i.to_s end