Class: Ace::Demo::Molecules::VerificationReportWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/demo/molecules/verification_report_writer.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_dir: ".ace-local/demo") ⇒ VerificationReportWriter

Returns a new instance of VerificationReportWriter.



10
11
12
# File 'lib/ace/demo/molecules/verification_report_writer.rb', line 10

def initialize(base_dir: ".ace-local/demo")
  @base_dir = base_dir
end

Instance Method Details

#write(demo_name:, verification:) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ace/demo/molecules/verification_report_writer.rb', line 14

def write(demo_name:, verification:)
  FileUtils.mkdir_p(@base_dir)
  basename = demo_name.to_s.strip.empty? ? "demo" : demo_name.to_s.strip.gsub(/[^A-Za-z0-9._-]+/, "-")
  markdown_path = File.expand_path(File.join(@base_dir, "#{basename}-error-report.md"), Dir.pwd)
  json_path = markdown_path.sub(/\.md\z/, ".json")

  File.write(markdown_path, markdown_content(verification))
  File.write(json_path, JSON.pretty_generate(json_payload(verification)))
  verification.report_path = markdown_path
  markdown_path
end