Class: Logue::Filter

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/logue/filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ignored_files: Array.new, ignored_methods: Array.new, ignored_classes: Array.new) ⇒ Filter

Returns a new instance of Filter.



14
15
16
17
18
# File 'lib/logue/filter.rb', line 14

def initialize ignored_files: Array.new, ignored_methods: Array.new, ignored_classes: Array.new
  @ignored_files   = ignored_files
  @ignored_methods = ignored_methods
  @ignored_classes = ignored_classes
end

Instance Attribute Details

#ignored_classesObject (readonly)

Returns the value of attribute ignored_classes.



12
13
14
# File 'lib/logue/filter.rb', line 12

def ignored_classes
  @ignored_classes
end

#ignored_filesObject (readonly)

Returns the value of attribute ignored_files.



10
11
12
# File 'lib/logue/filter.rb', line 10

def ignored_files
  @ignored_files
end

#ignored_methodsObject (readonly)

Returns the value of attribute ignored_methods.



11
12
13
# File 'lib/logue/filter.rb', line 11

def ignored_methods
  @ignored_methods
end

Instance Method Details

#<=>(other) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/logue/filter.rb', line 52

def <=> other
  compare_fields.each do |field|
    cmp = send(field) <=> other.send(field)
    return cmp if cmp.nonzero?
  end
  0
end

#compare_fieldsObject



48
49
50
# File 'lib/logue/filter.rb', line 48

def compare_fields
   [ :ignored_files, :ignored_methods, :ignored_classes ]
end

#ignore_class(cls) ⇒ Object



28
29
30
# File 'lib/logue/filter.rb', line 28

def ignore_class cls
  @ignored_classes << cls
end

#ignore_file(file) ⇒ Object



20
21
22
# File 'lib/logue/filter.rb', line 20

def ignore_file file
  @ignored_files << file
end

#ignore_method(meth) ⇒ Object



36
37
38
# File 'lib/logue/filter.rb', line 36

def ignore_method meth
  @ignored_methods << meth
end

#log?(file, cls, meth) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/logue/filter.rb', line 44

def log? file, cls, meth
  !@ignored_files.include?(file) && !@ignored_classes.include?(cls) && !@ignored_methods.include?(meth)
end

#log_class(cls) ⇒ Object



32
33
34
# File 'lib/logue/filter.rb', line 32

def log_class cls
  @ignored_classes.delete cls
end

#log_file(file) ⇒ Object



24
25
26
# File 'lib/logue/filter.rb', line 24

def log_file file
  @ignored_files.delete file
end

#log_method(meth) ⇒ Object



40
41
42
# File 'lib/logue/filter.rb', line 40

def log_method meth
  @ignored_methods.delete meth
end