Sha256: ccd849e8c42f87a64c2bdd3d2ffffe0f8ba7a63b6d9b2ba1a64dbf9840993de7

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

module Terremark
  class << self
    if (Fog::Terremark::ECLOUD_OPTIONS.all? { |option| Fog.credentials.has_key?(option) } ) ||
       (Fog::Terremark::VCLOUD_OPTIONS.all? { |option| Fog.credentials.has_key?(option) } )

      def initialized?
        true
      end

      def terremark_service(service)
        case service
        when :ecloud
          Fog::Terremark::Ecloud
        when :vcloud
          Fog::Terremark::Vcloud
        else
          raise "Unsupported Terremark Service"
        end
      end

      def [](service)
        @@connections ||= Hash.new do |hash, key|
          credentials = Fog.credentials.reject do |k,v|
            case key
            when :ecloud
              !Fog::Terremark::ECLOUD_OPTIONS.include?(k)
            when :vcloud
              !Fog::Terremark::VCLOUD_OPTIONS.include?(k)
            end
          end
          case key
          when :ecloud
            hash[key] = Fog::Terremark::Ecloud.new(credentials)
          when :vcloud
            hash[key] = Fog::Terremark::Vcloud.new(credentials)
          else
            raise "Unsupported Terremark Service"
          end
        end
        @@connections[service]
      end

    else

      def initialized?
        false
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fog-0.0.84 lib/fog/terremark/bin.rb
fog-0.0.83 lib/fog/terremark/bin.rb
fog-0.0.82 lib/fog/terremark/bin.rb
fog-0.0.81 lib/fog/terremark/bin.rb
fog-0.0.80 lib/fog/terremark/bin.rb
fog-0.0.79 lib/fog/terremark/bin.rb
fog-0.0.78 lib/fog/terremark/bin.rb