Class: ChiliLogger::CoverageWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/helpers/logs_coverage/coverage_writer.rb

Overview

class for keeping logs coverage up to date

Class Method Summary collapse

Class Method Details

.read_fileObject



23
24
25
26
27
# File 'lib/helpers/logs_coverage/coverage_writer.rb', line 23

def self.read_file
  file_exists = File.file?(file_path)

  file_exists ? YAML.load_file(file_path) : {}
end

.write(desc, backtrace) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# 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) ⇒ Object



29
30
31
32
33
# File 'lib/helpers/logs_coverage/coverage_writer.rb', line 29

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