Sha256: f3f3c10474e2a354c8fde840db3cdb925b4e68ca23ff8c7152d2d4657481cfad
Contents?: true
Size: 627 Bytes
Versions: 3
Compression:
Stored size: 627 Bytes
Contents
# frozen_string_literal: true module SiteMaps class AtomicRepository attr_reader :main_url, :preloaded_index_links def initialize(main_url) @main_url = main_url @preloaded_index_links = Concurrent::Array.new @generated_urls = Concurrent::Hash.new end def generate_url(raw_location) location = IncrementalLocation.new(main_url, raw_location) (@generated_urls[location.relative_directory] ||= location).next.url end def remaining_index_links preloaded_index_links.reject do |link| @generated_urls.key?(link.relative_directory) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
site_maps-0.0.1.beta3 | lib/site_maps/atomic_repository.rb |
site_maps-0.0.1.beta2 | lib/site_maps/atomic_repository.rb |
site_maps-0.0.1.beta1 | lib/site_maps/atomic_repository.rb |