gauntlet 2.0.2 → 2.1.0

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