class ElasticDot::Command::Domains

Public Class Methods

add(args, opts) click to toggle source
# File lib/elasticdot/command/domains.rb, line 2
def self.add(args, opts)
  domain = args.shift
  validate_domain! 'add', domain

  app    = opts[:app]
  find_app! opts

  puts "Adding #{domain} to #{@app}..."

  api.post "/domains/#{@app}/aliases", alias: domain
end
clear(opts) click to toggle source
# File lib/elasticdot/command/domains.rb, line 26
def self.clear(opts)
  find_app! opts

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

  puts "Removing all domain names from #{@app}..."
  domains.each do |d|
    next if d['factory']
    api.delete "/domains/#{@app}/aliases/#{d['name']}"
  end
end
list(opts) click to toggle source
# File lib/elasticdot/command/domains.rb, line 38
def self.list(opts)
  find_app! opts

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

  puts "=== #{@app} Domain Names"
  domains.each {|d| puts d['name'] }
end
remove(args, opts) click to toggle source
# File lib/elasticdot/command/domains.rb, line 14
def self.remove(args, opts)
  domain = args.shift
  validate_domain! 'remove', 'domain'

  app    = opts[:app]
  find_app! opts

  puts "Removing #{domain} from #{@app}..."

  api.delete "/domains/#{@app}/aliases/#{domain}"
end

Private Class Methods

validate_domain!(m, d) click to toggle source
# File lib/elasticdot/command/domains.rb, line 48
def self.validate_domain!(m, d)
  return true if d

  puts "Usage: elasticdot domains:#{m} DOMAIN"
  puts "Must specify DOMAIN to add."
  exit 1
end