Class: PuppetCheck::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet-check/cli.rb

Overview

the command line interface for PuppetCheck

Class Method Summary collapse

Class Method Details

.parse(args) ⇒ Object

parse the user arguments



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/puppet-check/cli.rb', line 16

def self.parse(args)
  opt_parser = OptionParser.new do |opts|
    # usage
    opts.banner = 'usage: puppet-check [options] paths'

    # bool options
    opts.on('-f', '--future', 'Enable future parser') { PuppetCheck.future_parser = true }
    opts.on('-s', '--style', 'Enable style checks') { PuppetCheck.style_check = true }
    # arguments to style checkers
    opts.on('--puppet-lint arg_one,arg_two', Array, 'Arguments for PuppetLint ignored checks') do |puppetlint_args|
      PuppetCheck.puppetlint_args = puppetlint_args.map { |arg| "--#{arg}" }
    end
    opts.on('--rubocop arg_one,arg_two', String, 'Arguments for Rubocop disabled cops') { |arg| PuppetCheck.rubocop_args = ['--except', arg] }
  end

  opt_parser.parse!(args)
end

.run(args) ⇒ Object

run method for the cli



7
8
9
10
11
12
13
# File 'lib/puppet-check/cli.rb', line 7

def self.run(args)
  parse(args)
  raise 'puppet-check: no paths specified' if args.empty?

  # run PuppetCheck
  PuppetCheck.new.run(args)
end