module DoSnapshot::Adapter

Adapter interface for API connections Ability to select DigitalOcean API versions.

Public Class Methods

api(protocol, options = {}) click to toggle source
# File lib/do_snapshot/adapter.rb, line 11
def api(protocol, options = {})
  konst = find_protocol(protocol)
  error_protocol(protocol) unless DoSnapshot::Adapter.const_defined?(konst)
  obj = DoSnapshot::Adapter.const_get(konst)
  obj.new(options)
end

Private Class Methods

error_protocol(protocol) click to toggle source
# File lib/do_snapshot/adapter.rb, line 20
def error_protocol(protocol)
  fail DoSnapshot::NoProtocolError, "Not existing protocol: #{protocol}."
end
find_protocol(protocol) click to toggle source
# File lib/do_snapshot/adapter.rb, line 24
def find_protocol(protocol)
  if protocol.is_a?(String)
    protocol
  else
    error_protocol(protocol) if protocol.is_a?(Integer) && protocol < 2
    'DropletKit'
  end
end