Module: RSpec::Covers::MetadataReader

Defined in:
lib/rspec/covers/metadata_reader.rb

Class Method Summary collapse

Class Method Details

.declarations_for(example, key) ⇒ Object



8
9
10
11
12
# File 'lib/rspec/covers/metadata_reader.rb', line 8

def declarations_for(example, key)
  (example).flat_map do ||
    .key?(key) ? normalize([key]) : []
  end
end

.metadata_chain(example) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rspec/covers/metadata_reader.rb', line 14

def (example)
  groups = []
  current = example.[:parent_example_group]

  while current
    groups << current
    current = current[:parent_example_group]
  end

  groups.reverse << example.
end

.normalize(value) ⇒ Object



26
27
28
29
30
31
# File 'lib/rspec/covers/metadata_reader.rb', line 26

def normalize(value)
  return [] if value.nil? || value == false
  return value.flat_map { |item| normalize(item) } if value.is_a?(Array)

  [value]
end