class ChiliLogger::CoverageWriter
class for keeping logs coverage up to date
Public Class Methods
read_file()
click to toggle source
# File lib/helpers/logs_coverage/coverage_writer.rb, line 22 def self.read_file file_exists = File.file?(file_path) file = file_exists ? YAML.load_file(file_path) : {} # workaround for a bug in YAML lib, in which #load_file returns nil if file is empty, instead of an empty hash file.nil? ? {} : file end
write(desc, backtrace)
click to toggle source
# File lib/helpers/logs_coverage/coverage_writer.rb, line 9 def self.write(desc, backtrace) default = ChiliLogger::Values::Default.new coverage = read_file type = desc[:type] || default.type service = desc[:service] || default.service action = desc[:action] || default.action keys = [type, service, action] # coverage = add_nested_value(coverage, keys, backtrace) # write_file(coverage) end
write_file(file)
click to toggle source
# File lib/helpers/logs_coverage/coverage_writer.rb, line 30 def self.write_file(file) FileUtils.mkdir(dir_name) unless File.directory?(dir_name) File.open(file_path, 'w') { |f| YAML.dump(file, f) } true end
Private Class Methods
add_nested_value(object, keys, final_value)
click to toggle source
private class methods
# File lib/helpers/logs_coverage/coverage_writer.rb, line 38 def self.add_nested_value(object, keys, final_value) return final_value if keys.empty? current_key = keys.first nested_object = object[current_key] || {} nested_keys = keys.drop(1) object[current_key] = add_nested_value(nested_object, nested_keys, final_value) object end
dir_name()
click to toggle source
# File lib/helpers/logs_coverage/coverage_writer.rb, line 49 def self.dir_name 'log' end
file_name()
click to toggle source
# File lib/helpers/logs_coverage/coverage_writer.rb, line 53 def self.file_name 'chili-logger-coverage.yml' end
file_path()
click to toggle source
# File lib/helpers/logs_coverage/coverage_writer.rb, line 57 def self.file_path File.join('.', dir_name, file_name) end