Class: RSpec::Coverage::ClassMap

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/coverage/class_map.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(root = "") ⇒ ClassMap

Returns a new instance of ClassMap.



7
8
9
10
# File 'lib/rspec/coverage/class_map.rb', line 7

def initialize root=""
  @root = root
  @files, @masks, @klasses = {}, {}, {}
end

Instance Attribute Details

#rootObject (readonly)

Returns the value of attribute root.



5
6
7
# File 'lib/rspec/coverage/class_map.rb', line 5

def root
  @root
end

Instance Method Details

#mask(*klasses) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/rspec/coverage/class_map.rb', line 12

def mask *klasses
  return @masks[klasses] if @masks[klasses]

  masks = klasses.map { |klass| class_mask klass }
  @masks[klasses] = Result.traverse(*masks) do |_file, *entries|
    entries.include?(ACTIVE) ? ACTIVE : INACTIVE
  end
end

#start_class(name:, path:, line:) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/rspec/coverage/class_map.rb', line 21

def start_class name:, path:, line:
  return unless path.start_with? @root

  @files[path] ||= {}
  @files[path][line] = name

  @klasses[name] ||= {}
  @klasses[name][path] = true
end