Class: CivoCLI::Domain

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

Instance Method Summary collapse

Instance Method Details

#create(name) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/domain.rb', line 16

def create(name)
  CivoCLI::Config.set_api_auth
  domain = Civo::DnsDomain.create(name: name)
  puts "Created a domain called #{name.colorize(:green)} with ID #{domain.id.colorize(:green)}"
rescue Flexirest::HTTPException => e
  puts e.result.reason.colorize(:red)
  exit 1
end

#listObject



4
5
6
7
8
9
10
11
# File 'lib/domain.rb', line 4

def list
  CivoCLI::Config.set_api_auth
  rows = []
  Civo::DnsDomain.all.items.each do |domain|
    rows << [domain.id, domain.name]
  end
  puts Terminal::Table.new headings: ['ID', 'Name'], rows: rows
end

#remove(id) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/domain.rb', line 27

def remove(id)
  CivoCLI::Config.set_api_auth
  domain = Civo::DnsDomain.all.items.detect {|key| key.id == id || key.name == id}
  Civo::DnsDomain.remove(id: domain.id)
  puts "Removed the domain #{domain.name.colorize(:green)} with ID #{domain.id.colorize(:green)}"
rescue Flexirest::HTTPException => e
  puts e.result.reason.colorize(:red)
  exit 1
end