class Nanoc::Extra::Checking::Check

@api private

Attributes

issues[R]

Public Class Methods

create(site) click to toggle source
# File lib/nanoc/extra/checking/check.rb, line 15
def self.create(site)
  output_dir = site.config[:output_dir]
  unless File.exist?(output_dir)
    raise Nanoc::Extra::Checking::OutputDirNotFoundError.new(output_dir)
  end
  output_filenames = Dir[output_dir + '/**/*'].select { |f| File.file?(f) }

  # FIXME: ugly
  view_context = site.compiler.create_view_context

  context = {
    items: Nanoc::ItemCollectionWithRepsView.new(site.items, view_context),
    layouts: Nanoc::LayoutCollectionView.new(site.layouts, view_context),
    config: Nanoc::ConfigView.new(site.config, view_context),
    site: Nanoc::SiteView.new(site, view_context), # TODO: remove me
    output_filenames: output_filenames,
  }

  new(context)
end
new(context) click to toggle source
Calls superclass method Nanoc::Int::Context.new
# File lib/nanoc/extra/checking/check.rb, line 36
def initialize(context)
  super(context)

  @issues = Set.new
end

Public Instance Methods

add_issue(desc, subject: nil) click to toggle source
# File lib/nanoc/extra/checking/check.rb, line 46
def add_issue(desc, subject: nil)
  @issues << Issue.new(desc, subject, self.class)
end
run() click to toggle source
# File lib/nanoc/extra/checking/check.rb, line 42
def run
  raise NotImplementedError.new('Nanoc::Extra::Checking::Check subclasses must implement #run')
end