Class: JekyllHighlightCards::Commands::FreezeArchives::Runner

Inherits:
Object
  • Object
show all
Includes:
ArchiveHelper
Defined in:
lib/jekyll-highlight-cards/commands/freeze_archives.rb

Overview

Orchestrates locate → analyze → lookup → insert for one site

Instance Method Summary collapse

Methods included from ArchiveHelper

#archive_enabled?, #archive_save_enabled?, #archive_url_for, #archive_user_agent

Constructor Details

#initialize(dry_run:, logger:) ⇒ Runner

Returns a new instance of Runner.



80
81
82
83
84
85
86
87
# File 'lib/jekyll-highlight-cards/commands/freeze_archives.rb', line 80

def initialize(dry_run:, logger:)
  @dry_run = dry_run
  @logger = logger
  @site = nil
  @site_source = nil
  @locator = JekyllHighlightCards::FreezeArchives::TagLocator.new
  @inserter = JekyllHighlightCards::FreezeArchives::ArchiveInserter.new
end

Instance Method Details

#run(site) ⇒ Hash

Returns summary counts.

Parameters:

  • site (Jekyll::Site)

Returns:

  • (Hash)

    summary counts



91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/jekyll-highlight-cards/commands/freeze_archives.rb', line 91

def run(site)
  @site = site
  @site_source = site.source
  @analyzer = JekyllHighlightCards::FreezeArchives::MarkupAnalyzer.new(site: site)
  summary = { frozen: 0, skipped: 0, miss: 0, written: 0 }

  source_files(site).each do |path|
    process_file(path, summary)
  end

  summary
end