class EventsEmitter::Pixel

Public Class Methods

config() click to toggle source
# File lib/events_emitter/pixel.rb, line 34
def self.config
  @config ||= { url: "//example.com/pixel.gif", timeout: 1 }
end

Public Instance Methods

record(fragment, _) click to toggle source
# File lib/events_emitter/pixel.rb, line 6
def record(fragment, _)
  pixel_url = URI.parse("http:#{url(fragment)}")

  http = Net::HTTP.new(pixel_url.host, pixel_url.port)
  http.read_timeout = timeout

  request   = Net::HTTP::Get.new(pixel_url.request_uri)
  response  = http.request(request)

  return true
rescue Timeout::Error => e
  notifier = self.class.config[:exception_notifier]
  if notifier
    notifier.notify(e, pixel_url)
    return false
  else
    raise e
  end
end
timeout() click to toggle source
# File lib/events_emitter/pixel.rb, line 30
def timeout
  self.class.config[:timeout]
end
url(fragment) click to toggle source
# File lib/events_emitter/pixel.rb, line 26
def url(fragment)
  "#{self.class.config[:url]}?#{fragment}"
end