class ElasticDot::Command::Config

Public Class Methods

get(args, opts) click to toggle source
# File lib/elasticdot/command/config.rb, line 38
def self.get(args, opts)
  var = args.shift
  find_app! opts

  vars = api.get("/domains/#{@app}")['vars']

  value = vars.select {|v| v['key_name'] == var }.first['value'] rescue nil

  puts value if value
end
list(opts) click to toggle source
# File lib/elasticdot/command/config.rb, line 49
def self.list(opts)
  find_app! opts

  puts "=== #{@app} Config Vars"

  vars = api.get("/domains/#{@app}")['vars']

  vars.each {|v| puts "#{v['key_name']}:\t#{v['value']}" }
end
set(vars, opts) click to toggle source
# File lib/elasticdot/command/config.rb, line 2
def self.set(vars, opts)
  unless vars.size > 0 and vars.all? { |a| a.include?('=') }
    puts "Usage: elasticdot config:set KEY1=VALUE1 [KEY2=VALUE2 ...]\nMust specify KEY and VALUE to set."
    exit 1
  end

  vars = parse_vars! vars

  find_app! opts

  puts "Setting ENV vars..."

  api.post "/apps/#{@app}/vars", vars: vars

  vars.each { |k, v| puts "#{k}:\t#{v}" }

  puts
  puts 'Please use ps:restart command to restart your app when you\'re ready.'
end
unset(vars, opts) click to toggle source
# File lib/elasticdot/command/config.rb, line 22
def self.unset(vars, opts)
  if vars.empty?
    puts "Usage: elasticdot config:unset KEY1 [KEY2 ...]\nMust specify KEY to unset."
    exit 1
  end

  find_app! opts

  puts "Unsetting ENV vars..."

  api.post "/apps/#{@app}/vars/unset", vars: vars

  puts
  puts 'Please use ps:restart command to restart your app when you\'re ready.'
end

Private Class Methods

parse_vars!(vars) click to toggle source
# File lib/elasticdot/command/config.rb, line 60
def self.parse_vars!(vars)
  parsed_vars = {}

  vars.each do |var|
    k, v = var.split '=', 2
    parsed_vars[k] = v || ''
  end

  parsed_vars
end