Sha256: 1bf8fce4238399afdb705b31388e855b4922b157d887451b1bbc0801859684f9

Contents?: true

Size: 705 Bytes

Versions: 7

Compression:

Stored size: 705 Bytes

Contents

class Linode < Fog::Bin
  class << self

    def class_for(key)
      case key
      when :compute
        Fog::Linode::Compute
      when :dns
        Fog::Linode::DNS
      else
        raise ArgumentError, "Unsupported #{self} service: #{key}"
      end
    end

    def [](service)
      @@connections ||= Hash.new do |hash, key|
        hash[key] = case key
        when :compute
          Fog::Compute.new(:provider => 'Linode')
        when :dns
          Fog::DNS.new(:provider => 'Linode')
        else
          raise ArgumentError, "Unrecognized service: #{key.inspect}"
        end
      end
      @@connections[service]
    end

    def services
      Fog::Linode.services
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fog-0.8.2 lib/fog/bin/linode.rb
fog-0.8.1 lib/fog/bin/linode.rb
fog-0.8.0 lib/fog/bin/linode.rb
fog-0.7.2 lib/fog/bin/linode.rb
fog-0.7.1 lib/fog/bin/linode.rb
fog-0.7.0 lib/fog/bin/linode.rb
fog-0.6.0 lib/fog/bin/linode.rb