gauntlet 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/History.txt +14 -0
- data/README.txt +5 -3
- data/Rakefile +0 -2
- data/lib/gauntlet.rb +18 -24
- metadata +85 -104
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7d5fadcfb3c0ac0befed72b11ffbdd953ecf5dc0
|
4
|
+
data.tar.gz: d5d94a3e366c3d4a5ce7ee262a354e213dbd3b8c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b449947eb19d175d9c2c3a5fba74d2c21f8f3e5a128b1e5dbe824926564ee6f59850be3f639b74802696e86055bd4d6c97d438510af01db7cab4af53feb4ff8b
|
7
|
+
data.tar.gz: 11248bd06b9b3360151587b9e7eb0326bbb72abd92297e3084d1e0f510efb8b3d6dfcce962afd4d07c50fe8e17edfdc1310588ba5aec3220b3893d5d8092e26e
|
checksums.yaml.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
���"����9YA���� 9�̒�
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.gemtest
ADDED
File without changes
|
data/History.txt
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
=== 2.1.0 / 2014-08-28
|
2
|
+
|
3
|
+
* 1 minor enhancement:
|
4
|
+
|
5
|
+
* Updated for newer versions of rubygems.
|
6
|
+
|
7
|
+
* 5 bug fixes:
|
8
|
+
|
9
|
+
* Fixed 1.9/2.0 warnings.
|
10
|
+
* Fixed redirect URIs.
|
11
|
+
* Fixed system call to chmod to use quotes on full_name.
|
12
|
+
* Handle more exceptions (SSLError, Persistent errors, etc)
|
13
|
+
* Removed dead rubyforge setting in Rakefile
|
14
|
+
|
1
15
|
=== 2.0.2 / 2013-06-28
|
2
16
|
|
3
17
|
* 1 bug fix:
|
data/README.txt
CHANGED
@@ -19,18 +19,20 @@ gems and storing off the data.
|
|
19
19
|
== SYNOPSIS:
|
20
20
|
|
21
21
|
require 'gauntlet'
|
22
|
-
|
22
|
+
|
23
23
|
class MyGauntlet < Gauntlet
|
24
24
|
def run name
|
25
25
|
data[name] = Dir["**/*.rb"]
|
26
26
|
self.dirty = true
|
27
27
|
end
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
filter = ARGV.shift
|
31
31
|
filter = Regexp.new filter if filter
|
32
|
-
|
32
|
+
|
33
33
|
gauntlet = MyGauntlet.new
|
34
|
+
gauntlet.source_index
|
35
|
+
gauntlet.update_gem_tarballs
|
34
36
|
gauntlet.run_the_gauntlet filter
|
35
37
|
|
36
38
|
== REQUIREMENTS:
|
data/Rakefile
CHANGED
data/lib/gauntlet.rb
CHANGED
@@ -10,7 +10,7 @@ $F ||= false
|
|
10
10
|
Thread.abort_on_exception = true
|
11
11
|
|
12
12
|
class Gauntlet
|
13
|
-
VERSION = '2.0
|
13
|
+
VERSION = '2.1.0'
|
14
14
|
GEMURL = URI.parse 'http://gems.rubyforge.org'
|
15
15
|
GEMDIR = File.expand_path "~/.gauntlet"
|
16
16
|
DATADIR = File.expand_path "~/.gauntlet/data"
|
@@ -52,17 +52,11 @@ class Gauntlet
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def latest_gems
|
55
|
-
Gem::SpecFetcher.new.
|
56
|
-
|
57
|
-
gems.map { |
|
58
|
-
gem_name =
|
59
|
-
|
60
|
-
[name, version].join '-'
|
61
|
-
else
|
62
|
-
[name, version, platform].join '-'
|
63
|
-
end
|
64
|
-
|
65
|
-
[gem_name, File.join(base_url, "/gems/#{gem_name}.gem")]
|
55
|
+
list, _ = Gem::SpecFetcher.new.available_specs(:latest)
|
56
|
+
list.map { |source, gems|
|
57
|
+
gems.map { |tuple|
|
58
|
+
gem_name = File.basename(tuple.spec_name, '.gemspec')
|
59
|
+
[gem_name, source.uri.merge("/gems/#{gem_name}.gem")]
|
66
60
|
}
|
67
61
|
}.flatten(1)
|
68
62
|
end
|
@@ -78,7 +72,7 @@ class Gauntlet
|
|
78
72
|
gems = Dir["*.gem"]
|
79
73
|
tgzs = Dir["*.tgz"]
|
80
74
|
|
81
|
-
old = tgzs - latest.map { |(full_name,
|
75
|
+
old = tgzs - latest.map { |(full_name, _url)| "#{full_name}.tgz" }
|
82
76
|
unless old.empty? then
|
83
77
|
warn "deleting #{old.size} tgzs"
|
84
78
|
old.each do |tgz|
|
@@ -91,15 +85,15 @@ class Gauntlet
|
|
91
85
|
tgz_names = tgzs.map { |tgz| File.basename tgz, '.tgz' }
|
92
86
|
to_convert = gem_names - tgz_names
|
93
87
|
|
94
|
-
seen_tgzs = Hash[
|
88
|
+
seen_tgzs = Hash[tgzs.map { |name| [name, true] }]
|
95
89
|
|
96
90
|
warn "adding #{to_convert.size} unconverted gems" unless to_convert.empty?
|
97
91
|
|
98
92
|
conversions.push to_convert.shift until to_convert.empty? # LAME
|
99
93
|
|
100
94
|
downloads = Queue.new
|
101
|
-
latest = latest.sort_by { |(full_name,
|
102
|
-
latest.reject! { |(full_name,
|
95
|
+
latest = latest.sort_by { |(full_name, _url)| full_name.downcase }
|
96
|
+
latest.reject! { |(full_name, _url)| seen_tgzs["#{full_name}.tgz"] }
|
103
97
|
|
104
98
|
downloads.push(latest.shift) until latest.empty? # LAME
|
105
99
|
|
@@ -116,7 +110,7 @@ class Gauntlet
|
|
116
110
|
system "gem spec -l cache/#{gem_name} > #{full_name}/gemspec"
|
117
111
|
end
|
118
112
|
|
119
|
-
system ["chmod -R u+rwX #{full_name}",
|
113
|
+
system ["chmod -R u+rwX \"#{full_name}\"",
|
120
114
|
"tar zmcf #{tgz_name} -- #{full_name}",
|
121
115
|
"rm -rf -- #{full_name} #{gem_name}"].join(" && ")
|
122
116
|
end
|
@@ -124,9 +118,7 @@ class Gauntlet
|
|
124
118
|
|
125
119
|
warn "fetching #{downloads.size} gems"
|
126
120
|
|
127
|
-
http
|
128
|
-
|
129
|
-
workers downloads do |full_name, url|
|
121
|
+
workers downloads do |http, (full_name, url)|
|
130
122
|
gem_name = "#{full_name}.gem"
|
131
123
|
|
132
124
|
unless gems.include? gem_name then
|
@@ -134,7 +126,7 @@ class Gauntlet
|
|
134
126
|
begin
|
135
127
|
warn "downloading #{full_name}"
|
136
128
|
while limit > 0 do
|
137
|
-
http.request
|
129
|
+
http.request url do |response|
|
138
130
|
case response
|
139
131
|
when Net::HTTPSuccess
|
140
132
|
File.open gem_name, "wb" do |f|
|
@@ -144,7 +136,7 @@ class Gauntlet
|
|
144
136
|
end
|
145
137
|
limit = 0 # kinda lame.
|
146
138
|
when Net::HTTPRedirection
|
147
|
-
url = response['location']
|
139
|
+
url = URI.parse(response['location'])
|
148
140
|
limit -= 1
|
149
141
|
else
|
150
142
|
warn " #{full_name} got #{response.code}. skipping."
|
@@ -152,7 +144,7 @@ class Gauntlet
|
|
152
144
|
end
|
153
145
|
end
|
154
146
|
end
|
155
|
-
rescue SocketError, Net::HTTP::Persistent::Error => e
|
147
|
+
rescue SocketError, OpenSSL::SSL::SSLError, Net::HTTP::Persistent::Error => e
|
156
148
|
warn " #{full_name} raised #{e.message}. skipping."
|
157
149
|
end
|
158
150
|
end
|
@@ -174,9 +166,11 @@ class Gauntlet
|
|
174
166
|
threads = []
|
175
167
|
count.times do
|
176
168
|
threads << Thread.new do
|
169
|
+
http = Net::HTTP::Persistent.new
|
170
|
+
|
177
171
|
until tasks.empty? do
|
178
172
|
task = tasks.shift
|
179
|
-
yield task
|
173
|
+
yield http, task
|
180
174
|
end
|
181
175
|
end
|
182
176
|
end
|
metadata
CHANGED
@@ -1,24 +1,18 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: gauntlet
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 2.0.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.1.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Ryan Davis
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
|
-
cert_chain:
|
10
|
+
cert_chain:
|
17
11
|
- |
|
18
12
|
-----BEGIN CERTIFICATE-----
|
19
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
20
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
21
|
-
|
15
|
+
GRYDY29tMB4XDTEzMDkxNjIzMDQxMloXDTE0MDkxNjIzMDQxMlowRTETMBEGA1UE
|
22
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
23
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
24
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -28,91 +22,85 @@ cert_chain:
|
|
28
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
29
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
30
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
25
|
+
AQCFZ7JTzoy1gcG4d8A6dmOJy7ygtO5MFpRIz8HuKCF5566nOvpy7aHhDDzFmQuu
|
26
|
+
FX3zDU6ghx5cQIueDhf2SGOncyBmmJRRYawm3wI0o1MeN6LZJ/3cRaOTjSFy6+S6
|
27
|
+
zqDmHBp8fVA2TGJtO0BLNkbGVrBJjh0UPmSoGzWlRhEVnYC33TpDAbNA+u39UrQI
|
28
|
+
ynwhNN7YbnmSR7+JU2cUjBFv2iPBO+TGuWC+9L2zn3NHjuc6tnmSYipA9y8Hv+As
|
29
|
+
Y4evBVezr3SjXz08vPqRO5YRdO3zfeMT8gBjRqZjWJGMZ2lD4XNfrs7eky74CyZw
|
30
|
+
xx3n58i0lQkBE1EpKE0lFu/y
|
37
31
|
-----END CERTIFICATE-----
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Dependency
|
32
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
42
35
|
name: net-http-persistent
|
43
|
-
|
44
|
-
|
45
|
-
none: false
|
46
|
-
requirements:
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
47
38
|
- - ~>
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
hash: 5
|
50
|
-
segments:
|
51
|
-
- 1
|
52
|
-
- 4
|
53
|
-
- 1
|
39
|
+
- !ruby/object:Gem::Version
|
54
40
|
version: 1.4.1
|
55
41
|
type: :runtime
|
56
|
-
version_requirements: *id001
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: minitest
|
59
42
|
prerelease: false
|
60
|
-
|
61
|
-
|
62
|
-
requirements:
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
63
45
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.4.1
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: minitest
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.4'
|
70
55
|
type: :development
|
71
|
-
version_requirements: *id002
|
72
|
-
- !ruby/object:Gem::Dependency
|
73
|
-
name: rdoc
|
74
56
|
prerelease: false
|
75
|
-
|
76
|
-
|
77
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.4'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rdoc
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
78
66
|
- - ~>
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
|
81
|
-
segments:
|
82
|
-
- 4
|
83
|
-
- 0
|
84
|
-
version: "4.0"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.0'
|
85
69
|
type: :development
|
86
|
-
version_requirements: *id003
|
87
|
-
- !ruby/object:Gem::Dependency
|
88
|
-
name: hoe
|
89
70
|
prerelease: false
|
90
|
-
|
91
|
-
|
92
|
-
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '4.0'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: hoe
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
93
80
|
- - ~>
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
|
96
|
-
segments:
|
97
|
-
- 3
|
98
|
-
- 6
|
99
|
-
version: "3.6"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.12'
|
100
83
|
type: :development
|
101
|
-
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.12'
|
102
90
|
description: |-
|
103
91
|
Gauntlet is a pluggable means of running code against all the latest
|
104
92
|
gems and storing off the data.
|
105
|
-
email:
|
93
|
+
email:
|
106
94
|
- ryand-ruby@zenspider.com
|
107
|
-
executables:
|
95
|
+
executables:
|
108
96
|
- gauntlet
|
109
97
|
extensions: []
|
110
|
-
|
111
|
-
extra_rdoc_files:
|
98
|
+
extra_rdoc_files:
|
112
99
|
- History.txt
|
113
100
|
- Manifest.txt
|
114
101
|
- README.txt
|
115
|
-
files:
|
102
|
+
files:
|
103
|
+
- .gemtest
|
116
104
|
- History.txt
|
117
105
|
- Manifest.txt
|
118
106
|
- README.txt
|
@@ -122,38 +110,31 @@ files:
|
|
122
110
|
- lib/gauntlet_grep.rb
|
123
111
|
- test/test_gauntlet.rb
|
124
112
|
homepage: https://github.com/seattlerb/gauntlet
|
125
|
-
licenses:
|
126
|
-
|
113
|
+
licenses:
|
114
|
+
- MIT
|
115
|
+
metadata: {}
|
127
116
|
post_install_message:
|
128
|
-
rdoc_options:
|
117
|
+
rdoc_options:
|
129
118
|
- --main
|
130
119
|
- README.txt
|
131
|
-
require_paths:
|
120
|
+
require_paths:
|
132
121
|
- lib
|
133
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
none: false
|
144
|
-
requirements:
|
145
|
-
- - ">="
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
hash: 3
|
148
|
-
segments:
|
149
|
-
- 0
|
150
|
-
version: "0"
|
122
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
151
132
|
requirements: []
|
152
|
-
|
153
|
-
|
154
|
-
rubygems_version: 1.8.25
|
133
|
+
rubyforge_project:
|
134
|
+
rubygems_version: 2.2.1
|
155
135
|
signing_key:
|
156
|
-
specification_version:
|
157
|
-
summary: Gauntlet is a pluggable means of running code against all the latest gems
|
158
|
-
|
159
|
-
|
136
|
+
specification_version: 4
|
137
|
+
summary: Gauntlet is a pluggable means of running code against all the latest gems
|
138
|
+
and storing off the data.
|
139
|
+
test_files:
|
140
|
+
- test/test_gauntlet.rb
|
metadata.gz.sig
CHANGED
Binary file
|