Class: Fog::Parsers::DNS::Zerigo::GetZone

Inherits:
Base
  • Object
show all
Defined in:
lib/fog/zerigo/parsers/dns/get_zone.rb

Instance Method Summary collapse

Instance Method Details

#end_element(name) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/fog/zerigo/parsers/dns/get_zone.rb', line 22

def end_element(name)
  if (@in_hosts)
    #in hosts part of response
    case name
    when 'id', 'zone-id'
      @host[name] = value.to_i
    when 'priority', 'ttl'
      @host[name] = value.to_i if value
    when 'data', 'fqdn', 'host-type', 'hostname', 'notes', 'zone-id', 'created-at', 'updated-at'
      @host[name] = value
    when 'host'
      @hosts << @host
      @host = {}
    when 'hosts'
      @response[name] = @hosts
      @in_hosts = false
    end
  else
    #in zone part of data
    case name
    when 'default-ttl', 'id', 'nx-ttl', 'hosts-count'
      @response[name] = value.to_i
    when 'created-at', 'custom-nameservers', 'custom-ns', 'domain', 'hostmaster', 'notes', 'ns1', 'ns-type', 'slave-nameservers', 'tag-list', 'updated-at', 'hosts', 'axfr-ips', 'restrict-axfr'
      @response[name] = value
    end
  end
end

#resetObject



6
7
8
9
10
11
# File 'lib/fog/zerigo/parsers/dns/get_zone.rb', line 6

def reset
  @host = {}
  @hosts = []
  @response = {}
  @in_hosts = false
end

#start_element(name, attrs = []) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/fog/zerigo/parsers/dns/get_zone.rb', line 13

def start_element(name, attrs = [])
  super(name, attrs)
  #look out for start of <hosts> section
  #needed as some of the tags have the same name as the parent <zone> section
  if name == 'hosts'
    @in_hosts= true
  end
end