class JunosConfig::Security::AddressBook
Attributes
address_sets[RW]
addresses[RW]
config[RW]
name[RW]
raw[RW]
Public Class Methods
new(config, raw)
click to toggle source
# 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
Public Instance Methods
lookup(name)
click to toggle source
# File lib/junos-config/security/addressbook.rb, line 32 def lookup(name) addrs = resolve(name) return unless addrs return addrs.addresses if addrs.class == JunosConfig::Security::AddressSet [addrs] end
resolve(name)
click to toggle source
# File lib/junos-config/security/addressbook.rb, line 28 def resolve(name) @resolv[name] end