Class: Composer::Repository::WritableArrayRepository
- Inherits:
-
ArrayRepository
- Object
- ArrayRepository
- Composer::Repository::WritableArrayRepository
- Defined in:
- lib/composer/repository/writeable_array_repository.rb
Overview
Writable array repository.
PHP Authors: Jordi Boggiano <[email protected]>
Ruby Authors: Ioannis Kappas <[email protected]>
Direct Known Subclasses
Instance Method Summary collapse
- #canonical_packages ⇒ Object
-
#initialize(packages = []) ⇒ WritableArrayRepository
constructor
A new instance of WritableArrayRepository.
- #reload ⇒ Object
- #write ⇒ Object
Methods inherited from ArrayRepository
#add_package, #count, #find_package, #find_packages, #package?, #packages, #remove_package, #search
Constructor Details
#initialize(packages = []) ⇒ WritableArrayRepository
Returns a new instance of WritableArrayRepository.
23 24 25 |
# File 'lib/composer/repository/writeable_array_repository.rb', line 23 def initialize(packages = []) super end |
Instance Method Details
#canonical_packages ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/composer/repository/writeable_array_repository.rb', line 33 def canonical_packages packages_uncanonicalized = packages # get at most one package of each name, prefering non-aliased ones packages_by_name = {} packages_uncanonicalized.each do |package| if !packages_by_name.key?(package.name) || packages_by_name[package.name].instance_of(Composer::Package::AliasPackage) packages_by_name[package.name] = package end end # unfold aliased packages results = [] packages_by_name.each do |name, package| while package.instance_of(Composer::Package::AliasPackage) package = package.alias_of end results[] = package end results end |
#reload ⇒ Object
30 31 |
# File 'lib/composer/repository/writeable_array_repository.rb', line 30 def reload end |
#write ⇒ Object
27 28 |
# File 'lib/composer/repository/writeable_array_repository.rb', line 27 def write end |