Module: Nib::Options::Parser

Defined in:
lib/nib/options/parser.rb

Class Method Summary collapse

Class Method Details

.flag_for(name) ⇒ Object



24
25
26
# File 'lib/nib/options/parser.rb', line 24

def flag_for(name)
  name.length == 1 ? "-#{name}" : "--#{name}"
end

.parse(raw_options) ⇒ Object



4
5
6
7
8
9
10
# File 'lib/nib/options/parser.rb', line 4

def parse(raw_options)
  raw_options.symbolize_keys!.map do |name, value|
    option = Nib::Options.options_for(:names, name).first

    send("parse_#{option[:type]}", name, value)
  end.compact.join(' ')
end

.parse_flag(name, values) ⇒ Object



18
19
20
21
22
# File 'lib/nib/options/parser.rb', line 18

def parse_flag(name, values)
  Array(values).map do |value|
    "#{flag_for(name)} #{value}"
  end
end

.parse_switch(name, enabled) ⇒ Object



12
13
14
15
16
# File 'lib/nib/options/parser.rb', line 12

def parse_switch(name, enabled)
  return unless enabled

  flag_for(name)
end