class KafoModuleLint::RakeTask
Constants
- DEFAULT_PATTERN
Attributes
modulepath[RW]
name[RW]
pattern[RW]
Public Class Methods
new(*args, &task_block)
click to toggle source
# File lib/kafo_module_lint/tasks.rb, line 13 def initialize(*args, &task_block) @name = args.shift || :'lint:kafo_module' @pattern = DEFAULT_PATTERN @modulepath = File.join('spec', 'fixtures', 'modules') define(args, &task_block) end
Public Instance Methods
define(args, &task_block)
click to toggle source
# File lib/kafo_module_lint/tasks.rb, line 20 def define(args, &task_block) desc 'Lint Puppet module with KafoModuleLint' task_block.call(*[self, args].slice(0, task_block.arity)) if task_block Rake::Task[name].clear if Rake::Task.task_defined?(name) definition = Rake::Task.task_defined?('spec_prep') ? {name => [:'spec_prep']} : name task definition do RakeFileUtils.send(:verbose, true) do result = true TypeLoader.new(modulepath).with_types do FileList[pattern].each do |manifest| linter = Linter.new(manifest) result = false unless linter.pass? linter.puts_errors end end abort unless result end end Rake::Task[:lint].enhance [name] if Rake::Task.task_defined?('lint') end