Class: LookbookVisualTester::PreviewChecker

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

Defined Under Namespace

Classes: CheckResult, MissingResult

Instance Method Summary collapse

Constructor Details

#initialize(config = LookbookVisualTester.config) ⇒ PreviewChecker

Returns a new instance of PreviewChecker.



10
11
12
# File 'lib/lookbook_visual_tester/preview_checker.rb', line 10

def initialize(config = LookbookVisualTester.config)
  @config = config
end

Instance Method Details

#checkObject



14
15
16
# File 'lib/lookbook_visual_tester/preview_checker.rb', line 14

def check
  run_checks(:basic_check)
end

#deep_checkObject



18
19
20
21
# File 'lib/lookbook_visual_tester/preview_checker.rb', line 18

def deep_check
  run_setup
  run_checks(:deep_render_check)
end

#missingObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/lookbook_visual_tester/preview_checker.rb', line 23

def missing
  components_dir = Rails.root.join(@config.components_folder)
  previews_dir = preview_paths.first

  components = Dir.glob(File.join(components_dir, '**', '*_component.rb'))

  missing = []
  components.each do |component_path|
    next if component_path.end_with?('application_component.rb')
    next if component_path.include?('/concerns/')

    relative_path = Pathname.new(component_path).relative_path_from(components_dir).to_s
    preview_relative_path = relative_path.sub('_component.rb', '_component_preview.rb')
    preview_path = File.join(previews_dir, preview_relative_path)

    missing << MissingResult.new(component_path: relative_path) unless File.exist?(preview_path)
  end
  missing
end