gauntlet 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1 @@
1
+ ���"����9YA���� 9�̒�
data.tar.gz.sig CHANGED
Binary file
File without changes
@@ -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
@@ -9,8 +9,6 @@ Hoe.plugin :isolate
9
9
  Hoe.spec 'gauntlet' do
10
10
  developer 'Ryan Davis', 'ryand-ruby@zenspider.com'
11
11
 
12
- self.rubyforge_name = 'seattlerb'
13
-
14
12
  dependency "net-http-persistent", "~> 1.4.1"
15
13
  end
16
14
 
@@ -10,7 +10,7 @@ $F ||= false
10
10
  Thread.abort_on_exception = true
11
11
 
12
12
  class Gauntlet
13
- VERSION = '2.0.2'
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.list.map { |source_uri, gems|
56
- base_url = source_uri.to_s
57
- gems.map { |(name, version, platform)|
58
- gem_name = case platform
59
- when Gem::Platform::RUBY then
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, url)| "#{full_name}.tgz" }
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[*tgzs.map { |name| [name, true] }.flatten]
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, url)| full_name.downcase }
102
- latest.reject! { |(full_name, url)| seen_tgzs["#{full_name}.tgz"] }
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 = Net::HTTP::Persistent.new
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 URI.parse(url) do |response|
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
- hash: 11
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
- MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
13
+ MIIDPjCCAiagAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
20
14
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
21
- GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
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
- AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
32
- vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
33
- w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
34
- l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
35
- n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
36
- FBHgymkyj/AOSqKRIpXPhjC6
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
- date: 2013-06-28 00:00:00 Z
40
- dependencies:
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
- prerelease: false
44
- requirement: &id001 !ruby/object:Gem::Requirement
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
- requirement: &id002 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
63
45
  - - ~>
64
- - !ruby/object:Gem::Version
65
- hash: 31
66
- segments:
67
- - 5
68
- - 0
69
- version: "5.0"
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
- requirement: &id003 !ruby/object:Gem::Requirement
76
- none: false
77
- requirements:
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
- hash: 27
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
- requirement: &id004 !ruby/object:Gem::Requirement
91
- none: false
92
- requirements:
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
- hash: 11
96
- segments:
97
- - 3
98
- - 6
99
- version: "3.6"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.12'
100
83
  type: :development
101
- version_requirements: *id004
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
- none: false
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- hash: 3
139
- segments:
140
- - 0
141
- version: "0"
142
- required_rubygems_version: !ruby/object:Gem::Requirement
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
- rubyforge_project: seattlerb
154
- rubygems_version: 1.8.25
133
+ rubyforge_project:
134
+ rubygems_version: 2.2.1
155
135
  signing_key:
156
- specification_version: 3
157
- summary: Gauntlet is a pluggable means of running code against all the latest gems and storing off the data.
158
- test_files: []
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