class TrainPlugins::Digitalocean::Connection

Public Class Methods

new(options) click to toggle source
Calls superclass method
# File lib/train-digitalocean/connection.rb, line 9
def initialize(options)
  msg = 'You need to set the Digitalocean access token via \'export DIGITALOCEAN_TOKEN=.\''
  if options.nil? || options[:access_token].nil?
    raise Train::TransportError, msg
  end

  super(options)

  # check account to verify authentication
  begin
    @uuid = droplet_client.account.info.uuid
  rescue DropletKit::Error
    raise Train::TransportError, msg
  end
end

Public Instance Methods

droplet_client() click to toggle source
# File lib/train-digitalocean/connection.rb, line 33
def droplet_client
  klass = ::DropletKit::Client
  return klass.new(access_token: @options[:access_token]) unless cache_enabled?(:api_call)
  @cache[:api_call][klass.to_s.to_sym] ||= klass.new(access_token: @options[:access_token])
end
local?() click to toggle source
# File lib/train-digitalocean/connection.rb, line 25
def local?
  false
end
unique_identifier() click to toggle source
# File lib/train-digitalocean/connection.rb, line 39
def unique_identifier
  @uuid
end
uri() click to toggle source
# File lib/train-digitalocean/connection.rb, line 29
def uri
  "digitalocean://"
end