class Threshold::Suppression
Attributes
comment[RW]
gid[RW]
ip[RW]
sid[RW]
track_by[RW]
Public Class Methods
new(line="")
click to toggle source
# File lib/threshold/suppression.rb, line 50 def initialize(line="") transform(line) unless line.empty? end
Public Instance Methods
state()
click to toggle source
State does not track comments
# File lib/threshold/suppression.rb, line 75 def state [@gid, @sid, @track_by, @ip] end
to_s(skip = false)
click to toggle source
# File lib/threshold/suppression.rb, line 54 def to_s(skip = false) if self.valid? if track_by == nil then if comment?(skip) "suppress gen_id #{@gid}, sig_id #{@sid}#{@comment}" else "suppress gen_id #{@gid}, sig_id #{@sid}" end else if comment?(skip) "suppress gen_id #{@gid}, sig_id #{@sid}, track by_#{@track_by}, ip #{@ip} #{@comment}" else "suppress gen_id #{@gid}, sig_id #{@sid}, track by_#{@track_by}, ip #{@ip}" end end else raise InvalidSuppressionObject, 'Suppression did not validate' end end
Private Instance Methods
transform(result)
click to toggle source
# File lib/threshold/suppression.rb, line 81 def transform(result) begin self.gid = result["GID"].compact.first.to_i self.sid = result["SID"].compact.first.to_i if result.key?("TRACK") self.track_by = result["TRACK"].compact.first.split('_')[1] end if result.key?("IP") self.ip = result["IP"].compact.first end if result.key?("COMMENT") self.comment = result["COMMENT"].compact.first.strip end raise InvalidSuppressionObject unless self.valid? rescue raise InvalidSuppressionObject, 'Failed transformation from parser' end end