Sha256: 062b3fe22a8ea590fba06c0d36b6d5d606fecef26958db637c76b86edf69494d
Contents?: true
Size: 609 Bytes
Versions: 4
Compression:
Stored size: 609 Bytes
Contents
# frozen_string_literal: true module Nuva class ValenceRepository < Repository def initialize(data) super data @ancestor_ids_by_id = {} @all.each 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