Sha256: bf79748c09d5a546212391894b288f68f83a364b9198ee74faa1c70b0a82e670
Contents?: true
Size: 616 Bytes
Versions: 4
Compression:
Stored size: 616 Bytes
Contents
# frozen_string_literal: true module Nuva class ValenceRepository < Repository def initialize(data) super data @ancestor_ids_by_id = {} @data.each_value do |valence| # Build hash of ancestor IDs for valence @ancestor_ids_by_id[valence.id] = lookup_ancestors(valence).uniq end @ancestor_ids_by_id.freeze end def get_ancestor_ids(valence_id) @ancestor_ids_by_id[valence_id] end private def lookup_ancestors(valence) return [] if valence.nil? lookup_ancestors(find(valence.parent_id)) << valence.parent_id end end end
Version data entries
4 entries across 4 versions & 1 rubygems