Class: ActiveMail::Quality::RenderAll

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/activemail/quality/render_all.rb

Overview

Render + guard every host preview; lives here (not the Rakefile) to stay unit-testable.

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Constructor Details

#initialize(output_root:, config: ActiveMail::Quality.config) ⇒ RenderAll

Returns a new instance of RenderAll.



23
24
25
26
# File 'lib/activemail/quality/render_all.rb', line 23

def initialize(output_root:, config: ActiveMail::Quality.config)
  @output_root = T.let(Pathname(output_root), Pathname)
  @config = T.let(config, Configuration)
end

Instance Method Details

#callObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/activemail/quality/render_all.rb', line 29

def call
  FileUtils.rm_rf(@output_root)
  FileUtils.mkdir_p(@output_root)

  render_failures = {}
  guard_failures = {}
  previews = PreviewRenderer.all
  rendered = render_all(previews, render_failures, guard_failures)

  Result.new(
    discovered: previews.size, rendered: rendered, render_failures: render_failures,
    guard_failures: guard_failures, broken_required: broken_required(previews, render_failures, guard_failures)
  )
end