Class: Sprinkle::Package::PackageRepository
- Defined in:
- lib/sprinkle/package/package_repository.rb
Overview
:nodoc:
Instance Method Summary collapse
- #<<(package) ⇒ Object
-
#add(package) ⇒ Object
adds a single package to the repository.
- #clear ⇒ Object
- #count ⇒ Object
-
#find_all(name, opts = {}) ⇒ Object
returns all packages matching the name and options given (including via provides).
-
#first(name, opts = {}) ⇒ Object
returns the first package matching the name and options given.
-
#initialize ⇒ PackageRepository
constructor
sets up an empty repository.
Constructor Details
#initialize ⇒ PackageRepository
sets up an empty repository
5 6 7 |
# File 'lib/sprinkle/package/package_repository.rb', line 5 def initialize clear end |
Instance Method Details
#<<(package) ⇒ Object
17 |
# File 'lib/sprinkle/package/package_repository.rb', line 17 def <<(package); add(package); end |
#add(package) ⇒ Object
adds a single package to the repository
14 15 16 |
# File 'lib/sprinkle/package/package_repository.rb', line 14 def add(package) @packages << package end |
#clear ⇒ Object
9 10 11 |
# File 'lib/sprinkle/package/package_repository.rb', line 9 def clear @packages = [] end |
#count ⇒ Object
32 33 34 |
# File 'lib/sprinkle/package/package_repository.rb', line 32 def count @packages.size end |
#find_all(name, opts = {}) ⇒ Object
returns all packages matching the name and options given (including via provides)
25 26 27 28 29 30 |
# File 'lib/sprinkle/package/package_repository.rb', line 25 def find_all(name, opts={}) # opts ||= {} all = [@packages.select {|x| x.name.to_s == name.to_s }, find_all_by_provides(name, opts)].flatten.compact filter(all, opts) end |
#first(name, opts = {}) ⇒ Object
returns the first package matching the name and options given
20 21 22 |
# File 'lib/sprinkle/package/package_repository.rb', line 20 def first(name, opts={}) find_all(name, opts).try(:first) end |