lib/junos-config/security/policy.rb in junos-config-0.2.0 vs lib/junos-config/security/policy.rb in junos-config-0.3.0

- old
+ new

@@ -3,17 +3,36 @@ class Policy attr_accessor :raw, :config, :name, :from_zone, - :to_zone + :to_zone, + :source_address, + :destination_address, + :application def initialize(config, raw, from_zone, to_zone) @config = config @raw = raw @from_zone = from_zone @to_zone = to_zone @name = raw.match(/^\ {12}policy (\S+)\ \{$/)[1] + + raw.scan(/^\ {20}source\-address\ ([^;]+);/).each do |src| + s = src[0].split(" ") + s = s.slice(1,s.length-2) if s.length > 1 + @source_address = s + end + raw.scan(/^\ {20}destination\-address\ ([^;]+);/).each do |dst| + s = dst[0].split(" ") + s = s.slice(1,s.length-2) if s.length > 1 + @destination_address = s + end + raw.scan(/^\ {20}application\ ([^;]+);/).each do |app| + s = app[0].split(" ") + s = s.slice(1,s.length-2) if s.length > 1 + @application = s + end end end end end