1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/bin/atmos.rb
Timur Alperovich cc69d10c89 Add generic support for EMC Atmos.
Refactor ninefold to provide generic Atmos support. Add an additional
argument, when compared to ninefold, which is the endpoint. The
endpoint should be a full URL, e.g.
https://storage.provider.com:1337/atmos. The API path and port are
optional. If the port is not specified, it is inferred from the
protocol.
2012-09-04 10:45:39 -07:00

31 lines
697 B
Ruby

class Atmos < Fog::Bin
class << self
def class_for(key)
case key
when :storage
Fog::Storage::Atmos
else
raise ArgumentError, "Unsupported #{self} service: #{key}"
end
end
def [](service)
@@connections ||= Hash.new do |hash, key|
hash[key] = case key
when :storage
Fog::Logger.warning("Atmos[:storage] is not recommended, use Storage[:atmos] for portability")
Fog::Storage.new(:provider => 'Atmos')
else
raise ArgumentError, "Unrecognized service: #{service}"
end
end
@@connections[service]
end
def services
Fog::Atmos.services
end
end
end