Module: Hackpad::Cli::Config

Defined in:
lib/hackpad/cli/config.rb

Class Method Summary collapse

Class Method Details

.ask(question, input, output) ⇒ Object



32
33
34
35
36
37
# File 'lib/hackpad/cli/config.rb', line 32

def ask(question, input, output)
  output.print "#{question} "
  back = input.gets.chomp
  output.flush
  back
end

.load(options, input = STDIN, output = STDOUT) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/hackpad/cli/config.rb', line 8

def load(options, input = STDIN, output = STDOUT)
  @input = input
  @output = output
  configdir = options[:configdir]
  configfile = File.join(configdir, "#{options[:workspace]}.yml")
  if !Dir.exist?(configdir) || !File.exist?(configfile)
    setup configfile, input, output
  end
  YAML.load_file configfile
end

.setup(configfile, input = STDIN, output = STDOUT) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/hackpad/cli/config.rb', line 19

def setup(configfile, input = STDIN, output = STDOUT)
  config = {}
  FileUtils.mkdir_p File.dirname(configfile)
  output.puts 'We need first to initialize your hackpad-cli configuration.'.blue
  output.puts 'Please gather your information from https://<subdomain>.hackpad.com/ep/account/settings/'.light_blue
  config['client_id'] = ask 'What is your Client ID?', input, output
  config['secret'] = ask 'What is your Secret Key?', input, output
  config['site'] = ask('What is the URI of your pad?', input, output).gsub(/\/$/, '')
  File.open(configfile, 'w') do |f|
    f.write YAML.dump(config)
  end
end