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