Class: PuppetLint::RakeTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- PuppetLint::RakeTask
- Includes:
- Rake::DSL
- Defined in:
- lib/puppet-lint/tasks/puppet-lint.rb
Overview
Public: A Rake task that can be loaded and used with everything you need.
Examples
require 'puppet-lint'
PuppetLint::RakeTask.new
Constant Summary collapse
- DEFAULT_PATTERN =
'**/*.pp'.freeze
Instance Attribute Summary collapse
-
#disable_checks ⇒ Object
Returns the value of attribute disable_checks.
-
#error_level ⇒ Object
Returns the value of attribute error_level.
-
#fail_on_warnings ⇒ Object
Returns the value of attribute fail_on_warnings.
-
#fix ⇒ Object
Returns the value of attribute fix.
-
#ignore_paths ⇒ Object
Returns the value of attribute ignore_paths.
-
#log_format ⇒ Object
Returns the value of attribute log_format.
-
#name ⇒ Object
Returns the value of attribute name.
-
#pattern ⇒ Object
Returns the value of attribute pattern.
-
#relative ⇒ Object
Returns the value of attribute relative.
-
#show_ignored ⇒ Object
Returns the value of attribute show_ignored.
-
#with_context ⇒ Object
Returns the value of attribute with_context.
-
#with_filename ⇒ Object
Returns the value of attribute with_filename.
Instance Method Summary collapse
- #define(args, &task_block) ⇒ Object
-
#initialize(*args, &task_block) ⇒ RakeTask
constructor
Public: Initialise a new PuppetLint::RakeTask.
Constructor Details
#initialize(*args, &task_block) ⇒ RakeTask
38 39 40 41 42 43 44 45 46 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 38 def initialize(*args, &task_block) @name = args.shift || :lint @pattern = DEFAULT_PATTERN @with_filename = true @disable_checks = [] @ignore_paths = [] define(args, &task_block) end |
Instance Attribute Details
#disable_checks ⇒ Object
Returns the value of attribute disable_checks.
22 23 24 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 22 def disable_checks @disable_checks end |
#error_level ⇒ Object
Returns the value of attribute error_level.
24 25 26 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 24 def error_level @error_level end |
#fail_on_warnings ⇒ Object
Returns the value of attribute fail_on_warnings.
23 24 25 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 23 def fail_on_warnings @fail_on_warnings end |
#fix ⇒ Object
Returns the value of attribute fix.
27 28 29 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 27 def fix @fix end |
#ignore_paths ⇒ Object
Returns the value of attribute ignore_paths.
20 21 22 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 20 def ignore_paths @ignore_paths end |
#log_format ⇒ Object
Returns the value of attribute log_format.
25 26 27 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 25 def log_format @log_format end |
#name ⇒ Object
Returns the value of attribute name.
18 19 20 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 18 def name @name end |
#pattern ⇒ Object
Returns the value of attribute pattern.
19 20 21 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 19 def pattern @pattern end |
#relative ⇒ Object
Returns the value of attribute relative.
29 30 31 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 29 def relative @relative end |
#show_ignored ⇒ Object
Returns the value of attribute show_ignored.
28 29 30 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 28 def show_ignored @show_ignored end |
#with_context ⇒ Object
Returns the value of attribute with_context.
26 27 28 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 26 def with_context @with_context end |
#with_filename ⇒ Object
Returns the value of attribute with_filename.
21 22 23 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 21 def with_filename @with_filename end |
Instance Method Details
#define(args, &task_block) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/puppet-lint/tasks/puppet-lint.rb', line 48 def define(args, &task_block) desc 'Run puppet-lint' task_block.call(*[self, args].slice(0, task_block.arity)) if task_block # clear any (auto-)pre-existing task Rake::Task[@name].clear if Rake::Task.task_defined?(@name) task @name do PuppetLint::OptParser.build Array(@disable_checks).each do |check| PuppetLint.configuration.send("disable_#{check}") end %w[with_filename fail_on_warnings error_level log_format with_context fix show_ignored relative].each do |config| value = instance_variable_get("@#{config}") PuppetLint.configuration.send("#{config}=".to_sym, value) unless value.nil? end if PuppetLint.configuration.ignore_paths @ignore_paths ||= PuppetLint.configuration.ignore_paths end if PuppetLint.configuration.pattern @pattern = PuppetLint.configuration.pattern end RakeFileUtils.send(:verbose, true) do linter = PuppetLint.new matched_files = FileList[@pattern] matched_files = matched_files.exclude(*@ignore_paths) matched_files.to_a.each do |puppet_file| linter.file = puppet_file linter.run linter.print_problems if PuppetLint.configuration.fix && linter.problems.none? { |e| e[:check] == :syntax } IO.write(puppet_file, linter.manifest) end end abort if linter.errors? || ( linter.warnings? && PuppetLint.configuration.fail_on_warnings ) end end end |