class Firewall::ComplexRule

Public Class Methods

new(ip, allowed, check = {delegate: nil, method: nil, value: nil}) click to toggle source
Calls superclass method
# File lib/complex_rule.rb, line 4
def initialize(ip, allowed, check = {delegate: nil, method: nil, value: nil})
  super(ip, allowed)
  @delegate = check[:delegate]
  @method = check[:method]
  @value = check[:value]
end

Public Instance Methods

pass?(ip, value = nil) click to toggle source
Calls superclass method
# File lib/complex_rule.rb, line 11
def pass?(ip, value = nil)
  pass = false
  if @delegate
    pass = (super(ip) and (value == @delegate.send(@method)))
  elsif @value
    pass = (super(ip) and (value == @value))
  else
    pass = super(ip)
  end

  pass
end