module Onceover::CodeQuality::Lint

Constants

LINT_OPTIONS
LINT_PATHS

Apply linting to the manifests directory and each module under `site`

Public Class Methods

puppet() click to toggle source
# File lib/onceover/codequality/lint.rb, line 24
def self.puppet
  status = true

  # wait until runtime to scan directories for unit tests
  lint_paths = LINT_PATHS.concat(
    CodeQuality::Environment.get_site_dirs.each { |site_dir|
      Dir.glob("#{site_dir}/*").select { |f| File.directory? f}
    }
  )
  lint_paths.each { |p|
    if Dir.exist?(p)
      CodeQuality::Formatter.start_test("lint in #{p}")
      output, ok = CodeQuality::Executor.run("puppet-lint #{LINT_OPTIONS.join ' '} #{p}")
      status &= ok
      CodeQuality::Formatter.end_test(output, ok)
    end
  }

  status
end