Sha256: c0adbee58443efd44457f582b0e6c0c77c801f77b3334c9739baa0ed95d580ea

Contents?: true

Size: 897 Bytes

Versions: 1

Compression:

Stored size: 897 Bytes

Contents

module Fog
  class DNS

    def self.new(attributes)
      attributes = attributes.dup # prevent delete from having side effects
      case provider = attributes[:provider] # attributes.delete(:provider)
      when 'AWS'
        require 'fog/dns/aws'
        Fog::AWS::DNS.new(attributes)
      when 'Bluebox'
        require 'fog/dns/bluebox'
        Fog::Bluebox::DNS.new(attributes)
      when 'Linode'
        require 'fog/dns/linode'
        Fog::Linode::DNS.new(attributes)
      when 'Slicehost'
        require 'fog/dns/slicehost'
        Fog::Slicehost::DNS.new(attributes)
      when 'Zerigo'
        require 'fog/dns/zerigo'
        Fog::Zerigo::DNS.new(attributes)
      when 'DNSimple'
        require 'fog/dns/dnsimple'
        Fog::DNSimple::DNS.new(attributes)
      else
        raise ArgumentError.new("#{provider} is not a recognized dns provider")
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-0.6.0 lib/fog/dns.rb