Class: Tasku::CLI::ConfigApp

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

Instance Method Summary collapse

Instance Method Details

#get(key) ⇒ Object



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

def get(key)
  pastel = Pastel.new
  meta = Tasku::Config::VALID_KEYS[key]
  abort pastel.red("Unknown preference '#{key}'. Run `tasku config list` to see available keys.") unless meta
  puts "  #{key}: #{pastel.bold(Tasku::Config.get(key))}"
end

#listObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/tasku/cli.rb', line 18

def list
  pastel = Pastel.new
  puts ""
  Tasku::Config::VALID_KEYS.each do |key, meta|
    current = Tasku::Config.get(key)
    options_str = meta[:values].map { |v| v == current ? pastel.bold(pastel.green(v)) : pastel.dim(v) }.join(", ")
    puts "  #{pastel.bold(key.ljust(20))} #{options_str}  #{pastel.dim("#{meta[:description]}")}"
  end
  puts ""
end

#set(key, value) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/tasku/cli.rb', line 30

def set(key, value)
  pastel = Pastel.new
  meta = Tasku::Config::VALID_KEYS[key]
  abort pastel.red("Unknown preference '#{key}'. Run `tasku config list` to see available keys.") unless meta
  unless meta[:values].include?(value)
    abort pastel.red("Invalid value '#{value}' for '#{key}'. Valid: #{meta[:values].join(', ')}")
  end
  Tasku::Config.set(key, value)
  puts pastel.green("#{key} set to '#{value}'.")
end