Class: Zonesync::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/zonesync/parser.rb

Defined Under Namespace

Classes: A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, ParsingError, Record, SOA, SPF, SRV, SSHFP, TXT, UnknownRecordType, Zone

Class Method Summary collapse

Class Method Details

.parse(zone_string) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/zonesync/parser.rb', line 9

def self.parse(zone_string)
  parser = T.unsafe(ZonefileParser).new
  result = parser.parse(zone_string)
  if !result
    puts zone_string
    raise ParsingError, parser.failure_reason
  end
  origin = result.variables["ORIGIN"]
  Zone.new(result.entries, origin: origin)
end