1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
module Knapsack
class Report
include Singleton
def config(args={})
@config ||= args
@config.merge!(args)
end
def report_path
config[:report_path] || raise('Missing report_path')
end
def test_file_pattern
config[:test_file_pattern] || raise('Missing test_file_pattern')
end
def save
File.open(report_path, 'w+') do |f|
f.write(report_json)
end
end
def open
report = File.read(report_path)
JSON.parse(report)
rescue Errno::ENOENT
raise "Knapsack report file #{report_path} doesn't exist. Please generate report first!"
end
private
def report_json
Presenter.report_json
end
end
end
|