Module: Glark::OptionUtil

Included in:
AppOptions, DirCriteriaOpts, FileCriteriaOpts, InputOptions, MatchOptions, Options, OutputOptions
Defined in:
lib/glark/util/optutil.rb

Constant Summary collapse

NONE =
Object.new

Instance Method Summary collapse

Instance Method Details

#add_opt(optdata, varname, tags, val = NONE) ⇒ Object



24
25
26
27
28
29
# File 'lib/glark/util/optutil.rb', line 24

def add_opt optdata, varname, tags, val = NONE
  optdata << {
    :tags => tags,
    :set  => set(varname, val)
  }
end

#add_opt_arg(optdata, varname, argtype, tags, val = NONE) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/glark/util/optutil.rb', line 31

def add_opt_arg optdata, varname, argtype, tags, val = NONE
  optdata << {
    :tags => tags,
    :arg  => [ argtype ],
    :set  => set(varname, val)
  }
end

#add_opt_blk(optdata, tags, &blk) ⇒ Object



55
56
57
58
59
60
# File 'lib/glark/util/optutil.rb', line 55

def add_opt_blk optdata, tags, &blk
  optdata << {
    :tags => tags,
    :set  => blk
  }
end

#add_opt_false(optdata, varname, tags) ⇒ Object



43
44
45
# File 'lib/glark/util/optutil.rb', line 43

def add_opt_false optdata, varname, tags
  add_opt optdata, varname, tags, false
end

#add_opt_int(optdata, varname, tags, val = NONE) ⇒ Object



51
52
53
# File 'lib/glark/util/optutil.rb', line 51

def add_opt_int optdata, varname, tags, val = NONE
  add_opt_arg optdata, varname, :integer, tags, val
end

#add_opt_str(optdata, varname, tags, val = NONE) ⇒ Object



47
48
49
# File 'lib/glark/util/optutil.rb', line 47

def add_opt_str optdata, varname, tags, val = NONE
  add_opt_arg optdata, varname, :string, tags, val
end

#add_opt_true(optdata, varname, tags) ⇒ Object



39
40
41
# File 'lib/glark/util/optutil.rb', line 39

def add_opt_true optdata, varname, tags
  add_opt optdata, varname, tags, true
end

#colorize(field, str) ⇒ Object



62
63
64
65
66
67
68
# File 'lib/glark/util/optutil.rb', line 62

def colorize field, str
  if field
    field + str + Sickill::Rainbow::TERM_EFFECTS[:reset]
  else
    str
  end
end

#set(name, sval = NONE) ⇒ Object



20
21
22
# File 'lib/glark/util/optutil.rb', line 20

def set name, sval = NONE
  Proc.new { |optval| set_var name, sval == NONE ? optval : sval }
end

#set_var(name, val) ⇒ Object



16
17
18
# File 'lib/glark/util/optutil.rb', line 16

def set_var name, val
  instance_variable_set '@' + name.to_s, val
end

#to_boolean(value) ⇒ Object

returns whether the value matches a true value, such as “yes”, “true”, or “on”.



10
11
12
# File 'lib/glark/util/optutil.rb', line 10

def to_boolean value
  [ "yes", "true", "on" ].include? value.downcase
end