Class: Verdict::EventLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/verdict/event_logger.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger, level = :info) ⇒ EventLogger

Returns a new instance of EventLogger.



4
5
6
# File 'lib/verdict/event_logger.rb', line 4

def initialize(logger, level = :info)
  @logger, @level = logger, level
end

Instance Attribute Details

#levelObject (readonly)

Returns the value of attribute level.



2
3
4
# File 'lib/verdict/event_logger.rb', line 2

def level
  @level
end

#loggerObject (readonly)

Returns the value of attribute logger.



2
3
4
# File 'lib/verdict/event_logger.rb', line 2

def logger
  @logger
end

Instance Method Details

#log_assignment(assignment) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/verdict/event_logger.rb', line 8

def log_assignment(assignment)
  status = assignment.returning? ? 'returning' : 'new'
  if assignment.qualified?
    logger.send(level, "[Verdict::Assignment] experiment=#{assignment.experiment.handle} subject=#{assignment.subject_identifier} status=#{status} qualified=true group=#{assignment.group.handle}")
  else
    logger.send(level, "[Verdict::Assignment] experiment=#{assignment.experiment.handle} subject=#{assignment.subject_identifier} status=#{status} qualified=false")
  end 
end

#log_conversion(conversion) ⇒ Object



17
18
19
# File 'lib/verdict/event_logger.rb', line 17

def log_conversion(conversion)
  logger.send(level, "[Verdict::Conversion] experiment=#{conversion.experiment.handle} subject=#{conversion.subject_identifier} goal=#{conversion.goal}")
end