class Iface::ValueSet::IpV6Secondaries
Represents a pair for IPV6ADDR_SECONDARIES
Public Class Methods
new(_name, value, value_set)
click to toggle source
Calls superclass method
# File lib/iface/value_set/pair.rb, line 84 def initialize(_name, value, value_set) super('IPV6ADDR_SECONDARIES', value, value_set) case value when String self.value = value.split(/ +/) when Array self.value = value else raise ArgumentError, "Expected String or Array; got #{value.class.name}: #{value.inspect}" end end
Public Instance Methods
filter_primary!(primary_num)
click to toggle source
# File lib/iface/value_set/pair.rb, line 111 def filter_primary!(primary_num) @value = @value.reject { |ip_num, _mask| ip_num == primary_num } self end
value()
click to toggle source
# File lib/iface/value_set/pair.rb, line 107 def value @value.map { |ip_num, mask| "#{IpV6Address.from_numeric(ip_num)}/#{mask}" }.join(' ') end
value=(new_value)
click to toggle source
# File lib/iface/value_set/pair.rb, line 96 def value=(new_value) ips = new_value.map do |ip_with_mask| ip, mask = ip_with_mask.split(%r{/}) [IpV6Address.new(ip).to_i, mask || 128] end.uniq.sort @value = ips ipv6_primary = @value_set.fetch_raw('ipv6addr') filter_primary!(ipv6_primary) if ipv6_primary self end