Class: ReplaceClass::OptParser

Inherits:
Object
  • Object
show all
Defined in:
lib/replace_class/option_parser.rb

Overview

wrapper for built-in OptionParser

Class Method Summary collapse

Class Method Details

.parse {|parser, options| ... } ⇒ Object

start parse options

Yields:

  • (parser, options)


9
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
# File 'lib/replace_class/option_parser.rb', line 9

def self.parse # :yield: parser, cli_opts

  unless block_given? then
    exit false
  end

  options = {}
  parser = OptionParser.new do |opt|

    opt.banner = "Usage: [update_name -s source -d dest path]"

    opt.on('-s', '--source sourceClass', 'Source class name for replacement') do |value|
      options[:source] = value
    end

    opt.on('-d', '--dest destClass', 'Dest class name for replacement') do |value|
      options[:dest] = value
    end

    opt.on('-f', '--force', 'No interaction with user') do |value|
      options[:force] = value
    end

    opt.on('-y', '--yes', 'Same to force option') do |value|
      options[:force] = value
    end

  end

  parser.parse!

  yield parser, options

end