Class: Bits::Repository
- Inherits:
-
Object
- Object
- Bits::Repository
- Includes:
- Logging
- Defined in:
- lib/bits/repository.rb
Instance Attribute Summary collapse
-
#backend ⇒ Object
Returns the value of attribute backend.
-
#providers ⇒ Object
Returns the value of attribute providers.
Instance Method Summary collapse
- #find_package(atom, criteria = {}) ⇒ Object
-
#initialize(providers, backend) ⇒ Repository
constructor
A new instance of Repository.
Methods included from Logging
Constructor Details
#initialize(providers, backend) ⇒ Repository
Returns a new instance of Repository.
25 26 27 28 29 |
# File 'lib/bits/repository.rb', line 25 def initialize(providers, backend) @bitcache = {} @providers = providers @backend = backend end |
Instance Attribute Details
#backend ⇒ Object
Returns the value of attribute backend.
23 24 25 |
# File 'lib/bits/repository.rb', line 23 def backend @backend end |
#providers ⇒ Object
Returns the value of attribute providers.
23 24 25 |
# File 'lib/bits/repository.rb', line 23 def providers @providers end |
Instance Method Details
#find_package(atom, criteria = {}) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/bits/repository.rb', line 31 def find_package(atom, criteria={}) ppps = [] iterate_packages(atom) do |bit, atom, provider, parameters, path| begin package = provider.query(atom) rescue MissingPackage log.warn "No such atom '#{atom}' for provider '#{provider.provider_id}'" next end ppps << PPP.new(bit, provider, package, parameters, path) end if ppps.empty? raise MissingProvidedPackage.new atom end return PackageProxy.new atom, ppps, criteria end |