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 +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
|