php-composer 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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