php-composer 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +10 -10
  3. data/Gemfile +15 -15
  4. data/LICENSE.txt +21 -21
  5. data/README.md +35 -35
  6. data/Rakefile +1 -1
  7. data/lib/composer.rb +52 -52
  8. data/lib/composer/error.rb +8 -8
  9. data/lib/composer/json/json_file.rb +270 -270
  10. data/lib/composer/package/alias_package.rb +273 -273
  11. data/lib/composer/package/base_package.rb +130 -130
  12. data/lib/composer/package/complete_package.rb +55 -55
  13. data/lib/composer/package/dumper/hash_dumper.rb +169 -169
  14. data/lib/composer/package/link.rb +51 -51
  15. data/lib/composer/package/link_constraint/base_constraint.rb +35 -35
  16. data/lib/composer/package/link_constraint/empty_constraint.rb +34 -34
  17. data/lib/composer/package/link_constraint/multi_constraint.rb +66 -66
  18. data/lib/composer/package/link_constraint/specific_constraint.rb +40 -40
  19. data/lib/composer/package/link_constraint/version_constraint.rb +220 -220
  20. data/lib/composer/package/loader/hash_loader.rb +316 -316
  21. data/lib/composer/package/loader/json_loader.rb +47 -47
  22. data/lib/composer/package/loader/project_attributes_loader.rb +71 -71
  23. data/lib/composer/package/loader/project_root_package_loader.rb +28 -28
  24. data/lib/composer/package/package.rb +118 -118
  25. data/lib/composer/package/root_alias_package.rb +37 -37
  26. data/lib/composer/package/root_package.rb +37 -37
  27. data/lib/composer/package/version/version_parser.rb +583 -583
  28. data/lib/composer/package/version/version_selector.rb +106 -106
  29. data/lib/composer/repository/filesystem_repository.rb +84 -85
  30. data/lib/composer/repository/{array_repository.rb → hash_repository.rb} +195 -195
  31. data/lib/composer/repository/{writeable_array_repository.rb → writeable_hash_repository.rb} +57 -59
  32. data/lib/composer/version.rb +3 -3
  33. data/php-composer.gemspec +31 -31
  34. metadata +4 -4
@@ -1,60 +1,58 @@
1
- #
2
- # This file was ported to ruby from Composer php source code.
3
- # Original Source: Composer\Repository\WritableArrayRepository.php
4
- #
5
- # (c) Nils Adermann <naderman@naderman.de>
6
- # Jordi Boggiano <j.boggiano@seld.be>
7
- #
8
- # For the full copyright and license information, please view the LICENSE
9
- # file that was distributed with this source code.
10
- #
11
-
12
- module Composer
13
- module Repository
14
- # Writable array repository.
15
- #
16
- # PHP Authors:
17
- # Jordi Boggiano <j.boggiano@seld.be>
18
- #
19
- # Ruby Authors:
20
- # Ioannis Kappas <ikappas@devworks.gr>
21
- class WritableArrayRepository < Composer::Repository::ArrayRepository
22
-
23
- def initialize(packages = [])
24
- super
25
- end
26
-
27
- def write
28
- end
29
-
30
- def reload
31
- end
32
-
33
- def canonical_packages
34
- packages_uncanonicalized = packages
35
-
36
- # get at most one package of each name, prefering non-aliased ones
37
- packages_by_name = {}
38
- packages_uncanonicalized.each do |package|
39
- if !packages_by_name.key?(package.name) ||
40
- packages_by_name[package.name].instance_of(Composer::Package::AliasPackage)
41
-
42
- packages_by_name[package.name] = package
43
-
44
- end
45
- end
46
-
47
- # unfold aliased packages
48
- results = []
49
- packages_by_name.each do |name, package|
50
- while package.instance_of(Composer::Package::AliasPackage)
51
- package = package.alias_of
52
- end
53
- results[] = package
54
- end
55
-
56
- results
57
- end
58
- end
59
- end
1
+ #
2
+ # This file was ported to ruby from Composer php source code.
3
+ # Original Source: Composer\Repository\WritableArrayRepository.php
4
+ #
5
+ # (c) Nils Adermann <naderman@naderman.de>
6
+ # Jordi Boggiano <j.boggiano@seld.be>
7
+ #
8
+ # For the full copyright and license information, please view the LICENSE
9
+ # file that was distributed with this source code.
10
+ #
11
+
12
+ module Composer
13
+ module Repository
14
+ # Writable array repository.
15
+ #
16
+ # PHP Authors:
17
+ # Jordi Boggiano <j.boggiano@seld.be>
18
+ #
19
+ # Ruby Authors:
20
+ # Ioannis Kappas <ikappas@devworks.gr>
21
+ class WritableHashRepository < Composer::Repository::HashRepository
22
+
23
+ def initialize(packages = [])
24
+ super
25
+ end
26
+
27
+ def write
28
+ end
29
+
30
+ def reload
31
+ end
32
+
33
+ def canonical_packages
34
+ packages_uncanonicalized = packages
35
+
36
+ # get at most one package of each name, preferring non-aliased ones
37
+ packages_by_name = {}
38
+ packages_uncanonicalized.each do |package|
39
+ if !packages_by_name.key?(package.name) ||
40
+ packages_by_name[package.name].instance_of?(Composer::Package::AliasPackage)
41
+ packages_by_name[package.name] = package
42
+ end
43
+ end
44
+
45
+ # unfold aliased packages
46
+ results = []
47
+ packages_by_name.each do |name, package|
48
+ while package.instance_of?(Composer::Package::AliasPackage)
49
+ package = package.alias_of
50
+ end
51
+ results.push(package)
52
+ end
53
+
54
+ results
55
+ end
56
+ end
57
+ end
60
58
  end
@@ -1,3 +1,3 @@
1
- module Composer
2
- VERSION = '0.1.1'
3
- end
1
+ module Composer
2
+ VERSION = '0.2.0'
3
+ end
data/php-composer.gemspec CHANGED
@@ -1,31 +1,31 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'composer/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'php-composer'
8
- spec.version = Composer::VERSION
9
- spec.authors = ['Ioannis Kappas']
10
- spec.email = ['ikappas@devworks.gr']
11
-
12
- spec.summary = %q{PHP Composer Ruby Gem}
13
- spec.description = %q{A ruby gem library for consistent interactions with php composer dependency manager.}
14
- spec.homepage = %q{http://github.com/ikappas/php-composer/tree/master}
15
- spec.license = 'MIT'
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.require_paths = ['lib']
19
-
20
- spec.required_ruby_version = '>= 1.8.7'
21
- spec.required_rubygems_version = '>= 1.8'
22
-
23
- spec.add_runtime_dependency 'json', '~> 1.8'
24
- spec.add_runtime_dependency 'json-schema', '~> 2.5'
25
-
26
- spec.add_development_dependency 'bundler', '~> 1.8'
27
- spec.add_development_dependency 'rake', '~> 10.0'
28
- spec.add_development_dependency 'rspec', '~> 5.0'
29
- spec.add_development_dependency 'rubocop', '~> 0.28', '>= 0.28.0'
30
- spec.add_development_dependency 'simplecov', '~> 0.9'
31
- end
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'composer/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'php-composer'
8
+ spec.version = Composer::VERSION
9
+ spec.authors = ['Ioannis Kappas']
10
+ spec.email = ['ikappas@devworks.gr']
11
+
12
+ spec.summary = %q{PHP Composer Ruby Gem}
13
+ spec.description = %q{A ruby gem library for consistent interactions with php composer dependency manager.}
14
+ spec.homepage = %q{http://github.com/ikappas/php-composer/tree/master}
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.require_paths = ['lib']
19
+
20
+ spec.required_ruby_version = '>= 1.8.7'
21
+ spec.required_rubygems_version = '>= 1.8'
22
+
23
+ spec.add_runtime_dependency 'json', '~> 1.8'
24
+ spec.add_runtime_dependency 'json-schema', '~> 2.5'
25
+
26
+ spec.add_development_dependency 'bundler', '~> 1.8'
27
+ spec.add_development_dependency 'rake', '~> 10.0'
28
+ spec.add_development_dependency 'rspec', '~> 5.0'
29
+ spec.add_development_dependency 'rubocop', '~> 0.28', '>= 0.28.0'
30
+ spec.add_development_dependency 'simplecov', '~> 0.9'
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: php-composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ioannis Kappas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-04 00:00:00.000000000 Z
11
+ date: 2015-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -153,9 +153,9 @@ files:
153
153
  - lib/composer/package/root_package.rb
154
154
  - lib/composer/package/version/version_parser.rb
155
155
  - lib/composer/package/version/version_selector.rb
156
- - lib/composer/repository/array_repository.rb
157
156
  - lib/composer/repository/filesystem_repository.rb
158
- - lib/composer/repository/writeable_array_repository.rb
157
+ - lib/composer/repository/hash_repository.rb
158
+ - lib/composer/repository/writeable_hash_repository.rb
159
159
  - lib/composer/version.rb
160
160
  - php-composer.gemspec
161
161
  - resources/composer-schema.json