class Net::IP::Rule::Collection

Public Instance Methods

add(rule) click to toggle source

Add a rule to the ip rule list @example Create a rule for 1.2.3.4 to use routing table ‘custom’

rule = Net::IP::Rule.new(:to => '1.2.3.4', :table => 'custom')
Net::IP.rules.add_rule(rule)

@param rule {Rule} Rule to add to the list. @return {void}

# File lib/net/ip/rule/collection.rb, line 23
def add(rule)
  result = `ip rule add #{rule.to_params}`
  raise result unless $?.success?
end
delete(rule) click to toggle source

Delete a rule from the ip rule list @example Delete a rule for 1.2.3.4 using routing table ‘custom’

rule = Net::IP::Rule.new(:to => '1.2.3.4', :table => 'custom')
Net::IP.rules.delete_rule(rule)

@param rule {Rule} Rule to delete from the list. @return {void}

# File lib/net/ip/rule/collection.rb, line 34
def delete(rule)
  result = `ip rule delete #{rule.to_params}`
  raise result unless $?.success?
end
each() { |rule| ... } click to toggle source

Enumerate all rules @yield {Rule} @return {void}

# File lib/net/ip/rule/collection.rb, line 13
def each(&block)
  Parser.parse(`ip rule list`).each {|r| yield(Rule.new(r))}
end