class Tablomat::IPTables::Rule
IPTables
are made of Rules
Attributes
active[RW]
chain[R]
description[R]
method[RW]
owned[RW]
position[RW]
Public Class Methods
new(chain, description, owned = true)
click to toggle source
# File lib/tablomat/iptables/rule.rb, line 10 def initialize(chain, description, owned = true) @system = chain.table.system @chain = chain @description = description @items = {} @owned = owned @active = false @method = 'APPEND' @position = 0 activate if @chain.active end
Public Instance Methods
activate(override = false)
click to toggle source
# File lib/tablomat/iptables/rule.rb, line 22 def activate(override = false) return unless @owned || override return if @active @active = true return if override @chain.activate unless @chain.active apply_create end
apply_create()
click to toggle source
# File lib/tablomat/iptables/rule.rb, line 43 def apply_create return unless @owned method = if @method == 'APPEND' "-A #{@chain.name}" else "-I #{@chain.name} #{@position}" end command = "#{@system.iptables_bin} -t #{@chain.table.name} #{method} #{@description}" @system.exec command end
apply_delete()
click to toggle source
# File lib/tablomat/iptables/rule.rb, line 55 def apply_delete return unless @owned command = "#{@system.iptables_bin} -t #{@chain.table.name} -D #{@chain.name} #{@description}" @system.exec command end
deactivate(override = false)
click to toggle source
# File lib/tablomat/iptables/rule.rb, line 33 def deactivate(override = false) return unless @owned || override return unless @active self.active = false return if override apply_delete end