Class: CommandLineParser

Inherits:
Object
  • Object
show all
Defined in:
lib/lucie/command_line_parser.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parameters) ⇒ CommandLineParser

Returns a new instance of CommandLineParser.



5
6
7
8
9
10
11
# File 'lib/lucie/command_line_parser.rb', line 5

def initialize(parameters)
  @params_str = parameters.class == Array ? parameters.join(" ") : parameters
  @options = {}
  @latest_option = nil

  parse_options()
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



3
4
5
# File 'lib/lucie/command_line_parser.rb', line 3

def options
  @options
end

Instance Method Details

#[](name) ⇒ Object



13
14
15
# File 'lib/lucie/command_line_parser.rb', line 13

def [](name)
  @options[name]
end

#has_arg?(option) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/lucie/command_line_parser.rb', line 36

def has_arg?(option)
  @options[:args].include?(option)
end

#has_option?(option) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/lucie/command_line_parser.rb', line 32

def has_option?(option)
  @options[remove_dashes(option).to_sym] || false
end

#pair(short, long) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/lucie/command_line_parser.rb', line 21

def pair(short, long)
  short_p = remove_dashes(short).to_sym
  long_p = remove_dashes(long).to_sym

  if @options[short_p].class == String
    @options[long_p] = @options[short_p]
  else
    @options[short_p] = @options[long_p]
  end
end

#shiftObject



17
18
19
# File 'lib/lucie/command_line_parser.rb', line 17

def shift
  @options[:args].shift
end