Class: Lita::Handlers::Digitalocean::DomainRecord

Inherits:
Base
  • Object
show all
Defined in:
lib/lita/handlers/digitalocean/domain_record.rb

Instance Method Summary collapse

Instance Method Details

#create(response) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/lita/handlers/digitalocean/domain_record.rb', line 37

def create(response)
  id, type, data = response.args[3..5]

  params = {
    data: data,
    record_type: type
  }.merge(response.extensions[:kwargs])

  do_response = do_call(response) do |client|
    client.domains.create_record(id, params)
  end or return

  response.reply(t("domain_records.create.created", do_response[:record]))
end

#delete(response) ⇒ Object



52
53
54
55
56
57
58
59
60
# File 'lib/lita/handlers/digitalocean/domain_record.rb', line 52

def delete(response)
  id, record_id = response.args[3..4]

  do_response = do_call(response) do |client|
    client.domains.delete_record(id, record_id)
  end or return

  response.reply(t("domain_records.delete.deleted"))
end

#edit(response) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/lita/handlers/digitalocean/domain_record.rb', line 62

def edit(response)
  id, record_id, type, data = response.args[3..6]

  params = {
    data: data,
    record_type: type
  }.merge(response.extensions[:kwargs].reject { |_key, value| value.nil? })

  do_response = do_call(response) do |client|
    client.domains.edit_record(id, record_id, params)
  end or return

  response.reply(t("domain_records.edit.updated"))
end

#list(response) ⇒ Object



77
78
79
80
81
82
83
84
85
# File 'lib/lita/handlers/digitalocean/domain_record.rb', line 77

def list(response)
  do_response = do_call(response) do |client|
    client.domains.list_records(response.args[3])
  end or return

  messages = do_response[:records].map { |record| t("domain_records.list.detail", record) }

  response.reply(*messages)
end

#show(response) ⇒ Object



87
88
89
90
91
92
93
94
95
# File 'lib/lita/handlers/digitalocean/domain_record.rb', line 87

def show(response)
  id, record_id = response.args[3..4]

  do_response = do_call(response) do |client|
    client.domains.show_record(id, record_id)
  end or return

  response.reply(t("domain_records.show.details", do_response[:record]))
end