class SiteguardLite::CustomSignature::Rule
Attributes
action[RW]
comment[R]
conditions[R]
enable[R]
exclusion_action[RW]
filter_lifetime[R]
name[R]
signature[RW]
Public Class Methods
new(args)
click to toggle source
# File lib/siteguard_lite/custom_signature/rule.rb, line 14 def initialize(args) @name = args[:name] @comment = args[:comment] @exclusion_action = args[:exclusion_action] @signature = args[:signature] @action = args[:action] || 'NONE' if @action == 'FILTER' @filter_lifetime = args[:filter_lifetime] || '300' else @filter_lifetime = nil end @enable = true @conditions = [] end
Public Instance Methods
action_str()
click to toggle source
# File lib/siteguard_lite/custom_signature/rule.rb, line 40 def action_str @action == 'FILTER' ? "#{@action}:#{@filter_lifetime}" : @action end
add_condition(k, v, comparison_methods)
click to toggle source
# File lib/siteguard_lite/custom_signature/rule.rb, line 32 def add_condition(k, v, comparison_methods) @conditions << SiteguardLite::CustomSignature::Condition.new(k, v, comparison_methods) end
enable_str()
click to toggle source
# File lib/siteguard_lite/custom_signature/rule.rb, line 36 def enable_str @enable ? 'ON' : 'OFF' end
to_hash()
click to toggle source
# File lib/siteguard_lite/custom_signature/rule.rb, line 55 def to_hash { name: @name, action: @action, filter_lifetime: @filter_lifetime, comment: @comment, exclusion_action: @exclusion_action, signature: @signature, conditions: @conditions.map { |c| c.to_hash }, } end
to_text()
click to toggle source
# File lib/siteguard_lite/custom_signature/rule.rb, line 44 def to_text validate! texts = [] last_idx = @conditions.length - 1 @conditions.each_with_index do |condition, idx| texts << condition.to_text(self, last: idx == last_idx) end texts.join("\n") end