Sha256: 12712aebcb755012bb79b64b447ea72c73fde52ae7a9d1325bb129607a5bda06

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

class Capricorn::CLI::ApplicationsDomains < Capricorn::CLI

  include Capricorn::Helpers

  namespace "apps:domains"

  desc "list", "list all domains"
  def list
    (application_info[4] || []).sort! do |a, b|
      a <=> b
    end
    (application_info[4] || []).each do |domain|
      puts "- #{domain}"
    end
  end

  desc "add DOMAIN", "add a new domain"
  def add(domain)
    domain = domain.strip.sub(/^www\./, '')

    begin
      domain = PublicSuffixService.parse(domain).to_s
    rescue Exception
      halt "invalid domain: #{domain}"
    end

    machine, id = *application
    app         = application_info

    app[4] ||= []

    if app[4].include?(domain)
      halt "Domain is already configured"
    end

    app[4].push(domain)

    p client.call.applications.update(machine.to_sym, id, app[4], app[10])
  end

  desc "remove DOMAIN", "remove a domain"
  def remove(domain)
    domain = domain.strip.sub(/^www\./, '')

    begin
      domain = PublicSuffixService.parse(domain).to_s
    rescue Exception
      halt "invalid domain: #{domain}"
    end

    machine, id = *application
    app         = application_info

    app[4] ||= []

    unless app[4].include?(domain)
      halt "Domain is not configured"
    end

    app[4].delete(domain)

    p client.call.applications.update(machine.to_sym, id, app[4], app[10])
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
capricorn-2.0.11 lib/capricorn-client/cli/applications/domains.rb
capricorn-2.0.10 lib/capricorn-client/cli/applications/domains.rb
capricorn-2.0.9 lib/capricorn-client/cli/applications/domains.rb
capricorn-2.0.8 lib/capricorn-client/cli/applications/domains.rb