class Logster::IgnorePattern
Public Class Methods
from_message_and_request_uri(msg, request)
click to toggle source
# File lib/logster/ignore_pattern.rb, line 9 def self.from_message_and_request_uri(msg, request) IgnorePattern.new(msg, {REQUEST_URI: request}) end
new(message_pattern=nil, env_patterns=nil)
click to toggle source
# File lib/logster/ignore_pattern.rb, line 4 def initialize(message_pattern=nil, env_patterns=nil) @msg_match = message_pattern @env_match = env_patterns end
Public Instance Methods
matches?(message)
click to toggle source
# File lib/logster/ignore_pattern.rb, line 13 def matches?(message) if @msg_match return false unless compare(message.message, @msg_match) end if @env_match return false unless compare(message.env, @env_match) end true end
to_s()
click to toggle source
# File lib/logster/ignore_pattern.rb, line 25 def to_s "<#Logster::IgnorePattern, msg_match: #{@msg_match.inspect}, env_match: #{@env_match.inspect}>" end
Private Instance Methods
compare(message, pattern)
click to toggle source
# File lib/logster/ignore_pattern.rb, line 31 def compare(message, pattern) return false unless message && pattern case pattern when Regexp message.to_s =~ pattern when String message.to_s.downcase =~ Regexp.new(pattern.downcase, Regexp::IGNORECASE) when Hash if Hash === message compare_hash(message, pattern) else false end else false end end
compare_hash(message_hash, pattern_hash)
click to toggle source
# File lib/logster/ignore_pattern.rb, line 50 def compare_hash(message_hash, pattern_hash) return false unless message_hash pattern_hash.each do |key, value| return false unless compare(get_indifferent(message_hash, key), value) end true end
get_indifferent(hash, key)
click to toggle source
# File lib/logster/ignore_pattern.rb, line 58 def get_indifferent(hash, key) return hash[key] if hash[key] return hash[key.to_s] if hash[key.to_s] # no key.to_sym please, memory leak in Ruby < 2.2 nil end