class Sherlog::Filter
Public Class Methods
category(expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 82 def self.category(expression) Filter::new do |entry| expression(expression).accept? entry.category end end
custom_attribute(attribute_name, expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 114 def self.custom_attribute(attribute_name, expression) Filter::new do |entry| expression(expression).accept? entry[attribute_name] end end
exception(expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 100 def self.exception(expression) Filter::new do |entry| entry.exceptions.find do |exception| expression(expression).accept? exception end end end
exceptions()
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 108 def self.exceptions Filter::new do |entry| entry.exception? end end
expression(expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 59 def self.expression(expression) expression = expression.to_s Filter::new do |object| wildcard_at_start = expression.start_with? '*' wildcard_at_end = expression.end_with? '*' if wildcard_at_start and wildcard_at_end object.to_s.index expression[1...-1] elsif wildcard_at_start object.to_s.end_with? expression[1..-1] elsif wildcard_at_end object.to_s.start_with? expression[0...-1] else object.to_s == expression.to_s end end end
level(expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 76 def self.level(expression) Filter::new do |entry| entry.level.to_s == expression.to_s end end
message(expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 94 def self.message(expression) Filter::new do |entry| expression(expression).accept? entry.message end end
new(&block)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 27 def initialize(&block) @block = block end
origin(expression)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 88 def self.origin(expression) Filter::new do |entry| expression(expression).accept? entry.origin end end
Public Instance Methods
accept?(object)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 35 def accept?(object) @block.call object end
and(other_filter = nil, &other_block)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 39 def and(other_filter = nil, &other_block) other_filter ||= Filter::new &other_block Filter::new do |entry| self.accept?(entry) && other_filter.accept?(entry) end end
call(object)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 31 def call(object) accept? object end
negate()
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 53 def negate Filter::new do |entry| !self.accept?(entry) end end
or(other_filter = nil, &other_block)
click to toggle source
# File lib/sherlog_holmes/filter.rb, line 46 def or(other_filter = nil, &other_block) other_filter ||= Filter::new &other_block Filter::new do |entry| self.accept?(entry) || other_filter.accept?(entry) end end