module SpecSelectorUtil::DataMap

The DataMap module contains methods used to build a hash map of nested lists, which can be rendered in their interactive form through the DataPresentation methods.

Public Instance Methods

map_example(example) click to toggle source
# File lib/spec_selector/data_map.rb, line 33
def map_example(example)
  group = example.example_group
  @map[group.metadata[:block]] << example
end
map_group(group) click to toggle source
# File lib/spec_selector/data_map.rb, line 22
def map_group(group)
  if !group.metadata[:parent_example_group]
    top_level_push(group)
  else
    parent = group.metadata[:parent_example_group][:block]
    @map[parent] ||= []
    @map[parent] << group
    @map[group.metadata[:block]] ||= []
  end
end
parent_data(data) click to toggle source
# File lib/spec_selector/data_map.rb, line 14
def parent_data(data)
  keys = data.keys
  return data[:example_group] if keys.include?(:example_group)
  return data[:parent_example_group] if keys.include?(:parent_example_group)

  nil
end
top_level_push(group) click to toggle source
# File lib/spec_selector/data_map.rb, line 8
def top_level_push(group)
  @map[:top_level] ||= []
  @map[:top_level] << group
  @map[group.metadata[:block]] ||= []
end