class OwskiLog::Event

Attributes

cause[RW]
description[RW]
end_time[RW]
key[RW]
parent[RW]
start_time[RW]
status[RW]
sub_events[RW]

Public Class Methods

new(key, description, status: nil, cause: nil, parent: nil, start_time: Time.now.utc, end_time: nil, sub_events: []) click to toggle source
# File lib/owskilog/event.rb, line 13
def initialize(key, description,
               status: nil, cause: nil,
               parent: nil, start_time: Time.now.utc,
               end_time: nil, sub_events: [])
  @key = key
  @description = description
  @status = status
  @cause = cause
  @parent = parent
  @start_time = start_time
  @end_time = end_time
  @sub_events = sub_events
end

Public Instance Methods

finish(status, cause: nil) click to toggle source
# File lib/owskilog/event.rb, line 27
def finish(status, cause: nil)
  @end_time = Time.now.utc
  @status = status
  @cause = cause
  self
end
is_finished?() click to toggle source
# File lib/owskilog/event.rb, line 34
def is_finished?
  @end_time && @status
end
to_json(*a) click to toggle source
# File lib/owskilog/event.rb, line 38
def to_json(*a)
  {
      key: @key,
      description: @description,
      status: @status,
      start_time: @start_time,
      end_time: @end_time,
      sub_events: @sub_events
  }.to_json(*a)
end