class RedCross::Trackers::HttpTracker

Attributes

eventbus_host[RW]

Public Class Methods

new(host) click to toggle source
# File lib/red_cross/trackers/http_tracker.rb, line 17
def initialize(host)
  @eventbus_host = host
end

Public Instance Methods

eventbus_request(request_url, params, method = :get) click to toggle source
# File lib/red_cross/trackers/http_tracker.rb, line 37
def eventbus_request(request_url, params, method = :get)
  request = Typhoeus::Request.new(
      request_url,
      method: method,
      params: method == :get ? params : {},
      body: method == :post ? params.to_json : {}
  )
  request.on_complete do |response|
    if response.success?
      return true
    else
      raise FailedPushingToEventbus.new(response.response_code ,request_url, response.return_code)
    end
  end
  request.run
end
flush() click to toggle source
# File lib/red_cross/trackers/http_tracker.rb, line 29
def flush
  {}
end
group(attrs, additional_args = {}) click to toggle source
# File lib/red_cross/trackers/http_tracker.rb, line 33
def group(attrs, additional_args = {})
  {}
end
identify(attrs, additional_args = {}) click to toggle source
# File lib/red_cross/trackers/http_tracker.rb, line 25
def identify(attrs, additional_args = {})
  {}
end
track(route, attrs, additional_args = {}) click to toggle source
# File lib/red_cross/trackers/http_tracker.rb, line 21
def track(route, attrs, additional_args = {})
  eventbus_request(@eventbus_host + route, attrs.merge(additional_args), :post)
end