Class: MilkTea::PackageServices
- Inherits:
-
Object
- Object
- MilkTea::PackageServices
- Defined in:
- lib/milk_tea/packages/services.rb
Instance Attribute Summary collapse
-
#registry_store ⇒ Object
readonly
Returns the value of attribute registry_store.
-
#source_cache ⇒ Object
readonly
Returns the value of attribute source_cache.
Instance Method Summary collapse
-
#initialize(source_cache: PackageSourceCache.new, registry_store: PackageRegistryStore.new) ⇒ PackageServices
constructor
A new instance of PackageServices.
- #source_fetcher ⇒ Object
- #source_resolver(mode) ⇒ Object
Constructor Details
#initialize(source_cache: PackageSourceCache.new, registry_store: PackageRegistryStore.new) ⇒ PackageServices
Returns a new instance of PackageServices.
7 8 9 10 11 |
# File 'lib/milk_tea/packages/services.rb', line 7 def initialize(source_cache: PackageSourceCache.new, registry_store: PackageRegistryStore.new) @source_cache = source_cache @registry_store = registry_store @source_resolvers = {} end |
Instance Attribute Details
#registry_store ⇒ Object (readonly)
Returns the value of attribute registry_store.
5 6 7 |
# File 'lib/milk_tea/packages/services.rb', line 5 def registry_store @registry_store end |
#source_cache ⇒ Object (readonly)
Returns the value of attribute source_cache.
5 6 7 |
# File 'lib/milk_tea/packages/services.rb', line 5 def source_cache @source_cache end |
Instance Method Details
#source_fetcher ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/milk_tea/packages/services.rb', line 13 def source_fetcher @source_fetcher ||= PackageSourceFetcher.new( source_cache: source_cache, source_resolver: source_resolver(:reject), registry_store: registry_store, ) end |
#source_resolver(mode) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/milk_tea/packages/services.rb', line 21 def source_resolver(mode) @source_resolvers[mode] ||= case mode when :reject PackageSourceResolver.new(source_cache: source_cache) when :cache PackageSourceResolver.new( source_cache: source_cache, remote_resolution: :cache, ) when :materialize PackageSourceResolver.new( source_cache: source_cache, remote_resolution: :materialize, source_fetcher: source_fetcher, ) else raise ArgumentError, "unknown dependency source resolution mode #{mode.inspect}" end end |