class Framed::Client
Attributes
config[RW]
Public Class Methods
new(config)
click to toggle source
# File lib/framed/client.rb, line 11 def initialize(config) raise Error.new('No API endpoint specified') unless config[:endpoint] raise Error.new('No api_key specified') unless config[:api_key] @config = config end
Public Instance Methods
track(data)
click to toggle source
# File lib/framed/client.rb, line 18 def track(data) Framed.log_info("Client#track #{data.length} events") creds = Base64.strict_encode64(@config[:api_key] + ':') payload = JSON.generate(data) response = Excon.post( @config[:endpoint], :headers => { 'Authorization' => "Basic #{creds}", 'Content-Type' => 'application/json' }, :body => payload ) if response.status != 200 raise Framed::RequestError.new("Failed Client.track #{response.status} with data #{payload}") end end