Class: LookbookVisualTester::ReportGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/lookbook_visual_tester/report_generator.rb

Constant Summary collapse

TEMPLATE_PATH =
File.expand_path("../templates/report.html.erb", __FILE__)
OUTPUT_PATH =
"coverage/visual_report.html"

Instance Method Summary collapse

Constructor Details

#initialize(results) ⇒ ReportGenerator

Returns a new instance of ReportGenerator.



9
10
11
12
13
14
15
16
17
# File 'lib/lookbook_visual_tester/report_generator.rb', line 9

def initialize(results)
  @results = results
  @stats = {
    total: results.size,
    failed: results.count { |r| r.status == :failed },
    new: results.count { |r| r.status == :new },
    passed: results.count { |r| r.status == :passed }
  }
end

Instance Method Details

#approve_command(result) ⇒ Object

Helper to generate the terminal command for the user



30
31
32
# File 'lib/lookbook_visual_tester/report_generator.rb', line 30

def approve_command(result)
  "cp \"#{result.current_path}\" \"#{result.baseline_path}\""
end

#callObject



19
20
21
22
23
24
25
26
27
# File 'lib/lookbook_visual_tester/report_generator.rb', line 19

def call
  template = File.read(TEMPLATE_PATH)
  renderer = ERB.new(template)
  html = renderer.result(binding)

  FileUtils.mkdir_p("coverage")
  File.write(OUTPUT_PATH, html)
  puts "📊 Report generated at: #{OUTPUT_PATH}"
end