php-composer 0.1.0 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 88072883dc0713384ff1f98f0d94f9f1361224f9
4
- data.tar.gz: 6c9b041212927d480583a92bad382dbbcc62e0b2
3
+ metadata.gz: 057c61e3d36c2fa8ec1507fc3b3010b14e9cf68f
4
+ data.tar.gz: 07cb396311c838990d32b02433d10df1c9f4e4de
5
5
  SHA512:
6
- metadata.gz: d5742e4541cbb44d0372038c4595466c656d83d71c53f2020e5f3b28275eafe1f0090aeab302ed1d0316cfbcde323a280135cf8ee16cd93d12a5f188288931a1
7
- data.tar.gz: ba066bed89028e51539066320d1755bbf2126d29d4bc86ae8f610308e44d5f87088f7f34a2f5c418264ea6fdf91f04edfdf61df4b6f741fde1843a7694ff5511
6
+ metadata.gz: 59e04a91ee1308295d684631cc6dbc9c8ec7e3c8d0ef1384f4e10218dd62136ef00f81209b7fe341aa3147e5f2133fa999e736dc446b34c1993d6f4c15236654
7
+ data.tar.gz: 366721224c65b2ae87534b9f2d95c59def2458f1653562018ce0dbcb4f7d0ce26320771c9c60cc2244af89e9a718f88aef1204b0992eaea838ec3e96c1041e48
@@ -1,3 +1,3 @@
1
1
  module Composer
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: php-composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ioannis Kappas
@@ -134,7 +134,6 @@ files:
134
134
  - lib/composer/json/json_file.rb
135
135
  - lib/composer/json/json_formatter.rb
136
136
  - lib/composer/json/json_validaton_error.rb
137
- - lib/composer/manager.rb
138
137
  - lib/composer/package/alias_package.rb
139
138
  - lib/composer/package/base_package.rb
140
139
  - lib/composer/package/complete_package.rb
@@ -154,7 +153,6 @@ files:
154
153
  - lib/composer/package/root_package.rb
155
154
  - lib/composer/package/version/version_parser.rb
156
155
  - lib/composer/package/version/version_selector.rb
157
- - lib/composer/provider.rb
158
156
  - lib/composer/repository/array_repository.rb
159
157
  - lib/composer/repository/filesystem_repository.rb
160
158
  - lib/composer/repository/writeable_array_repository.rb
@@ -1,79 +0,0 @@
1
- require 'digest'
2
-
3
- module Composer
4
- class Manager
5
-
6
- BLANK_REPOSITORY = { "packages"=>[],"includes"=>{} }
7
-
8
- def initialize(project)
9
- @project = project
10
- @provider = Composer::Provider.new(project)
11
- end
12
-
13
- def add_package(package)
14
-
15
- raise ArgumentError, 'package must be specified' unless package
16
- # raise TypeError, 'package must be a class of Composer::Package::Package or superclass' unless package.kind_of?(Composer::Package::Package)
17
-
18
- @provider.add_package(package)
19
- @provider.save_or_delete
20
-
21
- update_repository
22
-
23
- end
24
-
25
- def rm_package(package)
26
-
27
- raise ArgumentError, 'package must be specified' unless package
28
- # raise TypeError, 'package must be a class of Composer::Package::Package or superclass' unless package.kind_of?(Composer::Package::Package)
29
-
30
- @provider.rm_package(package)
31
- @provider.save_or_delete
32
-
33
- update_repository
34
-
35
- end
36
-
37
- def clear_packages
38
-
39
- @provider.clear_packages
40
- @provider.save_or_delete
41
-
42
- update_repository
43
-
44
- end
45
-
46
- private
47
-
48
- def update_repository
49
-
50
- # load packages.json
51
- if File.exist?(packages_json_file)
52
- File.open(packages_json_file, "w") do |file|
53
- file.write(BLANK_REPOSITORY.to_json)
54
- end
55
- end
56
-
57
- includes = File.open(packages_json_file, "r") { |f| ActiveSupport::JSON.decode(f.read)["includes"] }
58
- includes ||= {}
59
-
60
- # process provider
61
- name = "/p/#{@provider.filename}"
62
- if @provider.has_packages?
63
- includes[name] ||= {}
64
- includes[name]["sha1"] = @provider.sha1
65
- else
66
- includes.delete(name)
67
- end
68
-
69
- # update packages.json
70
- content = { "packages"=>[],"includes"=>includes }.to_json
71
- File.open(packages_json_file, "w") { |f| f.write(content) }
72
-
73
- end
74
-
75
- def packages_json_file
76
- File.join(Rails.public_path, "/packages.json")
77
- end
78
- end
79
- end
@@ -1,94 +0,0 @@
1
- module Composer
2
- class Provider
3
-
4
- BLANK_PROVIDER = { "packages"=>{} }
5
-
6
- def initialize(project)
7
- @project = project
8
- @package_dumper = Composer::Package::Dumper::HashDumper.new
9
- end
10
-
11
- def add_package(package)
12
-
13
- raise ArgumentError, 'package must be specified' unless package
14
- # raise TypeError, 'package must be a subclass of Composer::Package::Package' unless package.kind_of?(Composer::Package::Package)
15
-
16
- name = package.name
17
- pretty_version = package.pretty_version
18
-
19
- packages[name] ||= {}
20
- packages[name][pretty_version] = @package_dumper.dump(package)
21
-
22
- if packages[name].length >= 2
23
- packages[name].keys.sort.each { |k| packages[name][k] = packages[name].delete k }
24
- end
25
-
26
- end
27
-
28
- def rm_package(package)
29
-
30
- raise ArgumentError, 'package must be specified' unless package
31
- # raise TypeError, 'package must be a subclass of Composer::Package::Package' unless package.kind_of?(Composer::Package::Package)
32
-
33
- name = package.name
34
- pretty_version = package.pretty_version
35
-
36
- if has_package?(name, pretty_version)
37
- packages[name].delete(pretty_version)
38
- if packages[name].empty?
39
- packages.delete(name)
40
- elsif packages[name].length >= 2
41
- packages[name].keys.sort.each { |k| packages[name][k] = packages[name].delete k }
42
- end
43
- end
44
-
45
- end
46
-
47
- def clear_packages
48
- @packages = {}
49
- end
50
-
51
- def has_package?(name, pretty_version=nil)
52
- if pretty_version
53
- packages.key?(name) ? packages[name].key?(pretty_version) : false
54
- else
55
- packages.key?(name)
56
- end
57
- end
58
-
59
- def has_packages?
60
- !packages.empty?
61
- end
62
-
63
- def save_or_delete
64
- if has_packages?
65
- File.open(filepath, "w") { |f| f.write(content) }
66
- else
67
- File.delete(filepath) unless not File.exist?(filepath)
68
- end
69
- end
70
-
71
- def filename
72
- "project-#{@project.id}.json"
73
- end
74
-
75
- def sha1
76
- Digest::SHA1.hexdigest content
77
- end
78
-
79
- private
80
-
81
- def packages
82
- @packages ||= File.exist?(filepath) ? File.open(filepath, "r") { |f| ActiveSupport::JSON.decode(f.read)["packages"] rescue {} } : {}
83
- end
84
-
85
- def content
86
- { 'packages' => packages }.to_json
87
- end
88
-
89
- def filepath
90
- File.join(File.realpath(Rails.root.join('public', 'p')), filename)
91
- end
92
-
93
- end
94
- end