Method: JunosConfig::Security::AddressBook#initialize

Defined in:
lib/junos-config/security/addressbook.rb

#initialize(config, raw) ⇒ AddressBook

Returns a new instance of AddressBook.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/junos-config/security/addressbook.rb', line 10

def initialize(config, raw)
  @config = config
  @raw    = raw        
  @addresses = raw.scan(/^(\ {16}address \S+ \S+;)$/).collect do |x|
    Security::Address.new self, x[0]
  end
  @address_sets = raw.scan(/^(\ {16}address-set \S+ \{$.*?^\ {16}\})$/m).collect do |x|
    Security::AddressSet.new self, x[0]
  end
  @resolv = {}
  @addresses.each { |a| @resolv[a.name] = a }
  @address_sets.each do |as|
    @resolv[as.name] = as
    aset = as.lookup_addresses(self)
    aset.each{ |a| @resolv[a.name] = a }
  end
end