Class: Gemkeeper::CompactIndexServer::UpstreamCache

Inherits:
Object
  • Object
show all
Defined in:
lib/gemkeeper/compact_index_server/upstream_cache.rb

Overview

Composition root for upstream RubyGems.org caching. Wires a shared on-disk store and HTTP client into the merged-index and per-gem cache collaborators.

Instance Method Summary collapse

Constructor Details

#initialize(cache_dir) ⇒ UpstreamCache

Returns a new instance of UpstreamCache.



13
14
15
16
17
18
# File 'lib/gemkeeper/compact_index_server/upstream_cache.rb', line 13

def initialize(cache_dir)
  store   = CacheStore.new(File.join(cache_dir, "rubygems_cache"))
  client  = RubygemsClient.new
  @merger = IndexMerger.new(store, client)
  @gems   = GemCache.new(store, client)
end

Instance Method Details

#gem_binary(filename) ⇒ Object



23
# File 'lib/gemkeeper/compact_index_server/upstream_cache.rb', line 23

def gem_binary(filename)          = @gems.binary(filename)

#info(gemname) ⇒ Object



22
# File 'lib/gemkeeper/compact_index_server/upstream_cache.rb', line 22

def info(gemname)                 = @gems.info(gemname)

#merged_names(private_names) ⇒ Object



21
# File 'lib/gemkeeper/compact_index_server/upstream_cache.rb', line 21

def merged_names(private_names)   = @merger.names(private_names)

#merged_versions(private_gems) ⇒ Object



20
# File 'lib/gemkeeper/compact_index_server/upstream_cache.rb', line 20

def merged_versions(private_gems) = @merger.versions(private_gems)