Class: GeneratePuppetfile::OptParser

Inherits:
Object
  • Object
show all
Defined in:
lib/generate_puppetfile/optparser.rb

Overview

Internal: Parse the options provided to generate-puppetfile

Class Method Summary collapse

Class Method Details

.parse(args) ⇒ Object

Internal: Initialize the OptionParser

Returns an OptionParser object.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/generate_puppetfile/optparser.rb', line 10

def self.parse(args)
  options = {}
  opts = OptionParser.new do |opts|
    opts.banner = "generate-puppetfile [OPTIONS] [<MODULE> ... <MODULE>]"

    opts.on('-p', '--puppetfile FILE', 'Name of existing Puppetfile to verify and update') do |file|
      unless File.readable?(file)
        puts "\nPuppetfile '#{file}' cannot be read. Are you sure you passed in the correct filename?\n\n"
        exit 1
      end

	  options[:puppetfile] = file
    end

	opts.on('-c', '--create_puppetfile', 'Create a Puppetfile in the working directory. Warning: overwrites any existing file with the same name.') do
	  options[:create_puppetfile] = true
	end

	opts.on('-s', '--silent', 'Run in silent mode. Supresses all non-debug output. Adds the -c flag automatically.') do
	  options[:silent] = true
	  options[:create_puppetfile] = true
	end

	opts.on('-d', '--debug', 'Enable debug logging') do
	  options[:debug] = true
	end

	opts.on_tail('-v', '--version', 'Show version') do
	  puts "generate-puppetfile v#{GeneratePuppetfile::VERSION}"
	  exit
	end
  end
 
  opts.parse!(args)
  options
end