class SiteguardLite::CustomSignature::Condition

Attributes

comparison_methods[R]
key[R]
value[R]

Public Class Methods

new(k, v, comparison_methods) click to toggle source
# File lib/siteguard_lite/custom_signature/condition.rb, line 10
def initialize(k, v, comparison_methods)
  @key = k
  @value = v
  @comparison_methods = comparison_methods
end

Public Instance Methods

to_hash() click to toggle source
# File lib/siteguard_lite/custom_signature/condition.rb, line 33
def to_hash
  {
    key: @key,
    value: @value,
    comparison_methods: @comparison_methods,
  }
end
to_text(rule, last: false) click to toggle source

siteguardlite-320-0_nginx.pdf, p.52

有効・無効]<タブ><タブ><タブ><タブ>[検査対象

<タブ><タブ> [検査文字列]<タブ><タブ>

# File lib/siteguard_lite/custom_signature/condition.rb, line 18
def to_text(rule, last: false)
  validate!
  [
    rule.enable_str,
    rule.action_str,
    '',
    rule.name,
    @key,
    comparison_str(rule, last),
    @value,
    '',
    rule.comment,
  ].join("\t")
end

Private Instance Methods

comparison_str(rule, last) click to toggle source
# File lib/siteguard_lite/custom_signature/condition.rb, line 43
def comparison_str(rule, last)
  str = @comparison_methods.join(',')

  if last && rule.exclusion_action && rule.signature
    str << ",#{rule.exclusion_action}(#{rule.signature})"
  end

  str
end