php-composer 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/composer/version.rb +1 -1
- metadata +1 -3
- data/lib/composer/manager.rb +0 -79
- data/lib/composer/provider.rb +0 -94
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 057c61e3d36c2fa8ec1507fc3b3010b14e9cf68f
|
4
|
+
data.tar.gz: 07cb396311c838990d32b02433d10df1c9f4e4de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59e04a91ee1308295d684631cc6dbc9c8ec7e3c8d0ef1384f4e10218dd62136ef00f81209b7fe341aa3147e5f2133fa999e736dc446b34c1993d6f4c15236654
|
7
|
+
data.tar.gz: 366721224c65b2ae87534b9f2d95c59def2458f1653562018ce0dbcb4f7d0ce26320771c9c60cc2244af89e9a718f88aef1204b0992eaea838ec3e96c1041e48
|
data/lib/composer/version.rb
CHANGED
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.
|
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
|
data/lib/composer/manager.rb
DELETED
@@ -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
|
data/lib/composer/provider.rb
DELETED
@@ -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
|