Sha256: 53282c0d308e7af8492ac82de1336e9d158fb453b1e69231a2c0162777bd7565
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
require 'diecut/report-builder' require 'diecut/report-builders/template-list' require 'diecut/report-builders/overridden-context-defaults' require 'diecut/report-builders/option-collision' require 'diecut/report-builders/orphaned-field' module Diecut class Linter def initialize(mill) @mill = mill end attr_reader :mill def report @ui = mill.user_interface reports = ReportBuilder.all_kinds.map do |kind| kind.new(mill).go end if Diecut.issue_handler.respond_to?(:reports) reports += Diecut.issue_handler.reports end formatter = ReportFormatter.new( reports) formatter.to_s end # Needed: # Overridden option defaults (without plugin dep) # Option with default, context with default (w/o PD) def unindent(text) indent = text.scan(/(^[ \t]*)\S/).map{|cap| cap.first}.max_by(&:length) text.gsub(%r{^#{indent}},'') end def each_plugin mill.mediator.activated_plugins.each do |plugin| yield plugin end end def each_default each_plugin do |plugin| plugin.context_defaults.each do |default| yield default, plugin end end end def each_option each_plugin do |plugin| plugin.options.each do |option| yield option, plugin end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
diecut-0.0.5 | lib/diecut/linter.rb |
diecut-0.0.4 | lib/diecut/linter.rb |
diecut-0.0.3 | lib/diecut/linter.rb |