class KPM::TraceLogger
def add(group, key, message)
def add(group, key, message) add_to_hash(group, key, message) end
def add_to_hash(group, key, message)
def add_to_hash(group, key, message) if group.nil? || key.nil? add_with_key(group || key, message) else container_key = group.to_sym @trace[container_key] ||= {} child_key = key.to_sym if @trace[container_key][child_key].nil? @trace[container_key][child_key] = message else child_is_an_array = @trace[container_key][child_key].is_a?(Array) old_message = nil old_message = @trace[container_key][child_key] unless child_is_an_array @trace[container_key][child_key] = [] unless child_is_an_array @trace[container_key][child_key].push(old_message) unless old_message.nil? @trace[container_key][child_key].push(message) end end end
def add_with_key(key, message)
def add_with_key(key, message) child_key = key.to_sym if @trace[child_key].nil? @trace[child_key] = message else child_is_an_array = @trace[child_key].is_a?(Array) old_message = nil old_message = @trace[child_key] unless child_is_an_array @trace[child_key] = [] unless child_is_an_array @trace[child_key].push(old_message) unless old_message.nil? @trace[child_key].push(message) end end
def initialize
def initialize @trace = {} end
def to_hash
def to_hash @trace end
def to_json(*_args)
def to_json(*_args) @trace.to_json end
def to_s
def to_s @trace.to_s end