Sha256: 6c3e97b07c81618d31003c002c0753c6c32012bb89d818c33c0179370d1850bb

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

require "base64"
require "json"
require 'net/http'

require 'uri'

require "revrise/version"
require "revrise/api"
require "revrise/errors"

module RevRise
  class Base
    def initialize( token )
      @endpoint = "http://api.revrise.com/events/track?token=" + token
    end

    def track( event_name, properties )
      event = {
        :name => event_name,
        :properties => properties
      }.to_json

      data = Base64.encode64(event).gsub(/\n/, '')

      url = "#{@endpoint}&data=#{data}"
      uri = URI(url)

      http = Net::HTTP.new(uri.host, uri.port)
      size = 1000
      headers = {
        'Range' => "bytes=#{size}-"
      }

      response = begin
                   http.get(uri.to_s, headers)
                 rescue *HTTP_ERRORS => e
                   #log :error, "Unable to contact the RevRise server. HTTP Error=#{e}"
                   nil
                 end

      case response
      when Net::HTTPSuccess then
        #log :info, "Success: #{response.class}", response
      else
        #log :error, "Failure: #{response.class}", response
        puts "Unable to reach RevRise API. Check status"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
revrise-0.0.3 lib/revrise.rb
revrise-0.0.2 lib/revrise.rb