class Sus::Filter::Index
def [] key
def [] key @contexts[key] end
def add(parent)
def add(parent) parent.children&.each do |identity, child| insert(identity, child) add(child) end end
def initialize
def initialize @contexts = {} end
def insert(identity, context)
def insert(identity, context) key = identity.key if existing_context = @contexts[key] raise KeyError, "Assigning context to existing key: #{key.inspect}!" else @contexts[key] = context end end