Class: Fog::DNS::Dynect::Records

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/ext/dynect/models/dns/records.rb

Instance Method Summary collapse

Instance Method Details

#find_by_name(name) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/fog/ext/dynect/models/dns/records.rb', line 5

def find_by_name(name)
  requires :zone
  data = []
  service.get_all_records(zone.domain, {}).body['data'].select { |url| url =~ /\/#{name}\// }.each do |url|
    (_, _, t, _, fqdn, id) = url.split('/')
    type = t.gsub(/Record$/, '')

    # leave out the default, read only records
    next if ['NS', 'SOA'].include?(type)

    record = service.get_record(type, zone.domain, fqdn, 'record_id' => id).body['data']

    data << {
        :identity => record['record_id'],
        :fqdn => record['fqdn'],
        :type => record['record_type'],
        :rdata => record['rdata']
    }
  end

  load(data)
end