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