class Composer::Repository::WritableHashRepository

Writable array repository.

PHP Authors: Jordi Boggiano <j.boggiano@seld.be>

Ruby Authors: Ioannis Kappas <ikappas@devworks.gr>

Public Class Methods

new(packages = []) click to toggle source
# File lib/composer/repository/writeable_hash_repository.rb, line 23
def initialize(packages = [])
  super
end

Public Instance Methods

canonical_packages() click to toggle source
# 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() click to toggle source
# File lib/composer/repository/writeable_hash_repository.rb, line 31
def reload
  # implement inside child
end
write() click to toggle source
# File lib/composer/repository/writeable_hash_repository.rb, line 27
def write
  # implement inside child
end