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