Class: Tlapse::CLI::Config

Inherits:
Thor
  • Object
show all
Defined in:
lib/tlapse/cli/config.rb

Instance Method Summary collapse

Instance Method Details

#get(*options) ⇒ Object



42
43
44
45
46
47
# File 'lib/tlapse/cli/config.rb', line 42

def get(*options)
  puts Tlapse::Config.get *options
rescue Tlapse::NoSuchConfigOption
  Tlapse::Logger.error! "The config option \"#{option}\" does not exist. " \
    "Run tlapse config list for a full list of available options"
end

#listObject



7
8
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
# File 'lib/tlapse/cli/config.rb', line 7

def list
  config = Tlapse::Config.list.dup
  opts = config.keys

  values = Tlapse::Config.get *opts

  config = config.transform_values.with_index do |original, index|
    default = original[:default]
    default = default.call if default.respond_to? :call
    original[:default] = default

    original[:value] = values[index].to_s

    original
  end

  # Make a simple table.
  max_name = opts.max_by(&:length).length
  max_desc = opts.max_by { |opt| config[opt][:desc].length }
  max_desc = config[max_desc][:desc].length
  max_value = opts.max_by { |opt| config[opt][:value].length }
  max_value = config[max_value][:value].length

  config.each_pair do |option, meta|
    desc, default = meta.values_at :desc, :default
    name_padded   = option.ljust(max_name, " ")
    desc_padded   = meta[:desc].ljust(max_desc, " ")
    #value_padded  = meta[:value].ljust(max_value, " ")
    value_padded = meta[:value]

    puts "#{name_padded} -> #{desc_padded} -> #{value_padded} (default: #{default})"
  end
end

#set(option, value) ⇒ Object



50
51
52
53
54
55
56
57
# File 'lib/tlapse/cli/config.rb', line 50

def set(option, value)
  Tlapse::Config.set option, value
rescue Tlapse::NoSuchConfigOption
  Tlapse::Logger.error! "The config option \"#{option}\" does not exist. " \
    "Run tlapse config list for a full list of available options"
rescue Tlapse::ConfigOptionInvalid => invalid
  Tlapse::Logger.error! invalid.message
end

#unset(option) ⇒ Object



60
61
62
63
64
65
# File 'lib/tlapse/cli/config.rb', line 60

def unset(option)
  Tlapse::Config.unset option
rescue Tlapse::NoSuchConfigOption
  Tlapse::Logger.error! "The config option \"#{option}\" does not exist. " \
    "Run tlapse config list for a full list of available options"
end