Class: Lita::Handlers::Digitalocean::Droplet
- Defined in:
- lib/lita/handlers/digitalocean/droplet.rb
Instance Method Summary collapse
- #create(response) ⇒ Object
- #delete(response) ⇒ Object
- #list(response) ⇒ Object
- #password_reset(response) ⇒ Object
- #power_cycle(response) ⇒ Object
- #power_off(response) ⇒ Object
- #power_on(response) ⇒ Object
- #reboot(response) ⇒ Object
- #rebuild(response) ⇒ Object
- #resize(response) ⇒ Object
- #restore(response) ⇒ Object
- #show(response) ⇒ Object
- #shutdown(response) ⇒ Object
- #snapshot(response) ⇒ Object
Instance Method Details
#create(response) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 67 def create(response) name, size, image, region = response.args[2..5] kwargs = response.extensions[:kwargs].dup kwargs.each { |k, v| kwargs.delete(k) if v.nil? } numeric = /^\d+$/ size_key = size =~ numeric ? :size_id : :size_slug image_key = image =~ numeric ? :image_id : :image_slug region_key = region =~ numeric ? :region_id : :region_slug = { name: name, size_key => size, image_key => image, region_key => region }.merge(kwargs) do_response = do_call(response) do |client| client.droplets.create() end or return response.reply(t("droplets.create.created", do_response[:droplet])) end |
#delete(response) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 92 def delete(response) id = response.args[2] = {} [:scrub_data] = true if response.extensions[:kwargs][:scrub] do_response = do_call(response) do |client| client.droplets.delete(id, ) end or return response.reply(t("droplets.delete.deleted", id: id)) end |
#list(response) ⇒ Object
104 105 106 107 108 109 110 111 112 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 104 def list(response) do_response = do_call(response) do |client| client.droplets.list end or return = do_response[:droplets].map { |droplet| t("droplets.list.detail", droplet) } response.reply(*) end |
#password_reset(response) ⇒ Object
114 115 116 117 118 119 120 121 122 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 114 def password_reset(response) id = response.args[3] do_response = do_call(response) do |client| client.droplets.password_reset(id) end or return response.reply(t("droplets.password_reset.reset", id: id)) end |
#power_cycle(response) ⇒ Object
124 125 126 127 128 129 130 131 132 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 124 def power_cycle(response) id = response.args[3] do_response = do_call(response) do |client| client.droplets.power_cycle(response.args[3]) end or return response.reply(t("droplets.power_cycle.cycled", id: id)) end |
#power_off(response) ⇒ Object
134 135 136 137 138 139 140 141 142 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 134 def power_off(response) id = response.args[3] do_response = do_call(response) do |client| client.droplets.power_off(response.args[3]) end or return response.reply(t("droplets.power_off.powered_off", id: id)) end |
#power_on(response) ⇒ Object
144 145 146 147 148 149 150 151 152 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 144 def power_on(response) id = response.args[3] do_response = do_call(response) do |client| client.droplets.power_on(response.args[3]) end or return response.reply(t("droplets.power_on.powered_on", id: id)) end |
#reboot(response) ⇒ Object
154 155 156 157 158 159 160 161 162 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 154 def reboot(response) id = response.args[2] do_response = do_call(response) do |client| client.droplets.reboot(response.args[2]) end or return response.reply(t("droplets.reboot.rebooted", id: id)) end |
#rebuild(response) ⇒ Object
164 165 166 167 168 169 170 171 172 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 164 def rebuild(response) id, image_id = response.args[2..3] do_response = do_call(response) do |client| client.droplets.rebuild(id, image_id: image_id) end or return response.reply(t("droplets.rebuild.rebuilt", id: id)) end |
#resize(response) ⇒ Object
174 175 176 177 178 179 180 181 182 183 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 174 def resize(response) id, size = response.args[2..3] size_key = size =~ /^\d+$/ ? :size_id : :size_slug do_response = do_call(response) do |client| client.droplets.resize(id, size_key => size) end or return response.reply(t("droplets.resize.resized", id: id)) end |
#restore(response) ⇒ Object
185 186 187 188 189 190 191 192 193 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 185 def restore(response) id, image_id = response.args[2..3] do_response = do_call(response) do |client| client.droplets.restore(id, image_id: image_id) end or return response.reply(t("droplets.restore.restored", id: id)) end |
#show(response) ⇒ Object
195 196 197 198 199 200 201 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 195 def show(response) do_response = do_call(response) do |client| client.droplets.show(response.args[2]) end or return response.reply(t("droplets.show.details", formatted_droplet(do_response[:droplet]))) end |
#shutdown(response) ⇒ Object
203 204 205 206 207 208 209 210 211 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 203 def shutdown(response) id = response.matches[0][0] do_response = do_call(response) do |client| client.droplets.shutdown(id) end or return response.reply(t("droplets.shutdown.shut_down", id: id)) end |
#snapshot(response) ⇒ Object
213 214 215 216 217 218 219 220 221 222 223 |
# File 'lib/lita/handlers/digitalocean/droplet.rb', line 213 def snapshot(response) id, name = response.args[2..3] = {} [:name] = name if name do_response = do_call(response) do |client| client.droplets.snapshot(id, ) end or return response.reply(t("droplets.snapshot.snapshotted", id: id)) end |