class AppMonit::Event

Public Class Methods

client() click to toggle source
# File lib/app_monit/event.rb, line 38
def self.client
  Http
end
create(*args) click to toggle source
# File lib/app_monit/event.rb, line 5
def self.create(*args)
  create!(*args)
rescue Http::Error
  false
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError, Net::HTTPBadResponse,
    Net::HTTPHeaderSyntaxError, Net::ProtocolError, Errno::ETIMEDOUT, Errno::ECONNREFUSED => error
  raise error unless AppMonit::Config.fail_silent
  false
end
create!(name, data_hash = {}) click to toggle source
# File lib/app_monit/event.rb, line 15
def self.create!(name, data_hash = {})
  return false unless AppMonit::Config.enabled?
  created_at = data_hash.delete(:created_at) || Time.now.utc

  message = { created_at: created_at, name: name }

  message[:api_key]     = data_hash.delete(:api_key) if data_hash[:api_key]
  message[:environment] = data_hash.delete(:environment) if data_hash[:environment]

  message[:payload] = data_hash

  post(message)
end
post(message) click to toggle source
# File lib/app_monit/event.rb, line 29
def self.post(message)
  if AppMonit::Config.async?
    AppMonit.logger.debug("[Event] push: #{message}")
    AppMonit::Worker.instance.push(message)
  else
    client.post('/v1/events', message)
  end
end