Class: Composer::Repository::WritableHashRepository
- Inherits:
-
HashRepository
- Object
- BaseRepository
- HashRepository
- Composer::Repository::WritableHashRepository
- Defined in:
- lib/composer/repository/writeable_hash_repository.rb
Overview
Writable array repository.
PHP Authors: Jordi Boggiano <[email protected]>
Ruby Authors: Ioannis Kappas <[email protected]>
Direct Known Subclasses
Constant Summary
Constants inherited from BaseRepository
BaseRepository::SEARCH_FULLTEXT, BaseRepository::SEARCH_NAME
Instance Method Summary collapse
- #canonical_packages ⇒ Object
-
#initialize(packages = []) ⇒ WritableHashRepository
constructor
A new instance of WritableHashRepository.
- #reload ⇒ Object
- #write ⇒ Object
Methods inherited from HashRepository
#add_package, #count, #find_package, #find_packages, #package?, #packages, #remove_package, #search
Methods inherited from BaseRepository
#find_package, #find_packages, #package?, #packages, #search
Constructor Details
#initialize(packages = []) ⇒ WritableHashRepository
Returns a new instance of WritableHashRepository.
23 24 25 |
# File 'lib/composer/repository/writeable_hash_repository.rb', line 23 def initialize(packages = []) super end |
Instance Method Details
#canonical_packages ⇒ Object
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_hash_repository.rb', line 35 def canonical_packages packages_uncanonicalized = packages # get at most one package of each name, preferring 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.push(package) end results end |
#reload ⇒ Object
31 32 33 |
# File 'lib/composer/repository/writeable_hash_repository.rb', line 31 def reload # implement inside child end |
#write ⇒ Object
27 28 29 |
# File 'lib/composer/repository/writeable_hash_repository.rb', line 27 def write # implement inside child end |