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/dreamhost/models/dns/zones.rb

42 lines
853 B
Ruby
Raw Normal View History

require 'fog/core/collection'
require 'fog/dreamhost/models/dns/zone'
module Fog
module DNS
class Dreamhost
#
# Dreamhost API has no concept of 'Zone', but we
# can emulate it.
#
# http://wiki.dreamhost.com/API/Dns_commands
#
class Zones < Fog::Collection
model Fog::DNS::Dreamhost::Zone
def all
clear
zones = []
zones_added = []
service.records.each do |r|
unless zones_added.include?(r.zone)
zones << { :id => r.zone, :domain => r.zone }
zones_added << r.zone
end
end
load(zones)
end
def get(zone_id)
service.zones.find { |z| z.domain == zone_id }
rescue Excon::Errors::NotFound
nil
end
end
end
end
end