class Binnacle::Event

Attributes

channel_id[RW]
client_event_time[RW]
client_id[RW]
environment[RW]
event_name[RW]
event_time[RW]
ip_address[RW]
json[RW]
log_level[RW]
session_id[RW]
tags[RW]

Public Class Methods

events(connection, channel, date, start_hour, end_hour, lines, environment = rails_env) click to toggle source
# File lib/binnacle/resources/event.rb, line 101
def self.events(connection, channel, date, start_hour, end_hour, lines, environment = rails_env)
  path = [route(channel), environment, date].compact.join('/')

  get(connection, path, {'start_hour' => start_hour, 'end_hour' => end_hour, 'limit' => lines})
end
from_hash(h) click to toggle source
# File lib/binnacle/resources/event.rb, line 57
def self.from_hash(h)
  event = self.new()
  event.channel_id = h['channelId']
  event.event_name = h['eventName']
  event.client_id = h['clientId']
  event.session_id = h['sessionId']
  event.ip_address = h['ipAddress']
  event.log_level = h['logLevel']
  event.event_time = Time.at(h['eventTime']/1000)
  event.tags = h['tags']
  event.json = h['json']
  event.environment = h['environment']

  event
end
recents(connection, lines, since, channel, environment = rails_env) click to toggle source
# File lib/binnacle/resources/event.rb, line 95
def self.recents(connection, lines, since, channel, environment = rails_env)
  path = [route(channel), environment, 'recents'].compact.join('/')

  get(connection, path, {'limit' => lines, 'since' => since})
end
route(channel) click to toggle source
# File lib/binnacle/resources/event.rb, line 91
def self.route(channel)
  "/api/events/#{channel}"
end

Protected Class Methods

rails_env() click to toggle source
# File lib/binnacle/resources/event.rb, line 109
def self.rails_env
  defined?(Rails) ? Rails.env : "production"
end

Public Instance Methods

configure(channel_id, event_name, client_id, session_id, log_level, environment = Event.rails_env, ts = Time.now, tags = [], json = {}) click to toggle source
# File lib/binnacle/resources/event.rb, line 16
def configure(channel_id, event_name, client_id, session_id, log_level, environment = Event.rails_env, ts = Time.now, tags = [], json = {})
  self.channel_id = channel_id
  self.event_name = event_name
  self.client_id = client_id
  self.session_id = session_id
  self.timestamp = ts ? ts : Time.now
  self.log_level = log_level
  self.tags = tags
  self.json = json
  self.environment = environment || Event.rails_env
end
configure_from_logging_progname(progname, channel_id, client_id, session_id, log_level, environment = Event.rails_env, ts = Time.now, tags = [], json = {}) click to toggle source
# File lib/binnacle/resources/event.rb, line 28
def configure_from_logging_progname(progname, channel_id, client_id, session_id, log_level, environment =  Event.rails_env, ts = Time.now, tags = [], json = {})
  if progname.is_a?(Hash)
    self.client_id = progname[:client_id] || client_id
    self.session_id = progname[:session_id] || session_id
    self.channel_id = progname[:channel_id] || channel_id
    self.event_name =  progname[:event_name]
    self.tags = progname[:tags] || tags
    self.json = json
    self.json.merge!(progname[:json]) if progname[:json]
    self.environment = environment || Event.rails_env
  elsif progname.is_a?(String)
    self.client_id = client_id
    self.session_id = session_id
    self.channel_id = channel_id
    self.event_name = progname
    self.tags = tags
    self.json = json
    self.environment = environment || Event.rails_env
  end

  self.timestamp = ts ? ts : Time.now
  self.log_level = log_level
  self.environment = environment || Event.rails_env
end
route() click to toggle source
# File lib/binnacle/resources/event.rb, line 87
def route
  "/api/events/#{channel_id}"
end
timestamp=(ts) click to toggle source
# File lib/binnacle/resources/event.rb, line 53
def timestamp=(ts)
  self.client_event_time = ts.strftime("%Y-%m-%dT%H:%M:%S%z")
end
to_json() click to toggle source
# File lib/binnacle/resources/event.rb, line 73
def to_json
  {
    "channelId" => channel_id,
    "sessionId" => session_id,
    "clientEventTime" => client_event_time,
    "eventName" => event_name,
    "clientId" => client_id,
    "logLevel" => log_level,
    "tags" => tags,
    "environment" => environment,
    "json" => json
  }.to_json
end