rubygems-update 1.3.4 → 1.3.5
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.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- data.tar.gz.sig +0 -0
- data/.document +1 -1
- data/ChangeLog +19 -0
- data/History.txt +799 -0
- data/Manifest.txt +1 -30
- data/README +29 -10
- data/Rakefile +71 -315
- data/lib/rubygems.rb +3 -2
- data/lib/rubygems/commands/setup_command.rb +27 -17
- data/lib/rubygems/commands/which_command.rb +1 -1
- data/lib/rubygems/config_file.rb +11 -4
- data/lib/rubygems/indexer.rb +6 -6
- data/lib/rubygems/source_index.rb +25 -19
- data/lib/rubygems/spec_fetcher.rb +14 -7
- data/lib/rubygems/specification.rb +1 -1
- data/test/test_gem.rb +0 -8
- data/test/test_gem_commands_dependency_command.rb +4 -0
- data/test/test_gem_commands_uninstall_command.rb +20 -0
- data/test/test_gem_indexer.rb +63 -24
- data/test/test_gem_source_index.rb +4 -3
- data/test/test_gem_spec_fetcher.rb +16 -2
- metadata +163 -47
- metadata.gz.sig +0 -0
- data/doc/release_notes/docs-rubygems-announce.rdoc +0 -29
- data/doc/release_notes/rel_0_2_0.rdoc +0 -4
- data/doc/release_notes/rel_0_3_0.rdoc +0 -21
- data/doc/release_notes/rel_0_4_0.rdoc +0 -4
- data/doc/release_notes/rel_0_5_0.rdoc +0 -26
- data/doc/release_notes/rel_0_6_0.rdoc +0 -16
- data/doc/release_notes/rel_0_7_0.rdoc +0 -4
- data/doc/release_notes/rel_0_8_0.rdoc +0 -23
- data/doc/release_notes/rel_0_8_1.rdoc +0 -4
- data/doc/release_notes/rel_0_8_10.rdoc +0 -70
- data/doc/release_notes/rel_0_8_11.rdoc +0 -102
- data/doc/release_notes/rel_0_8_3.rdoc +0 -113
- data/doc/release_notes/rel_0_8_4.rdoc +0 -51
- data/doc/release_notes/rel_0_8_5.rdoc +0 -117
- data/doc/release_notes/rel_0_8_7.rdoc +0 -135
- data/doc/release_notes/rel_0_9_0.rdoc +0 -109
- data/doc/release_notes/rel_0_9_2.rdoc +0 -69
- data/doc/release_notes/rel_0_9_3.rdoc +0 -66
- data/doc/release_notes/rel_0_9_4.rdoc +0 -67
- data/doc/release_notes/rel_0_9_5.rdoc +0 -108
- data/doc/release_notes/rel_1_0_0.rdoc +0 -67
- data/doc/release_notes/rel_1_0_1.rdoc +0 -56
- data/doc/release_notes/rel_1_1_0.rdoc +0 -85
- data/doc/release_notes/rel_1_1_1.rdoc +0 -64
- data/doc/release_notes/rel_1_2_0.rdoc +0 -105
- data/doc/release_notes/rel_1_3_0.rdoc +0 -125
- data/doc/release_notes/rel_1_3_1.rdoc +0 -75
- data/doc/release_notes/rel_1_3_2.rdoc +0 -119
- data/doc/release_notes/rel_1_3_3.rdoc +0 -95
- data/lib/rubygems/rubygems_version.rb +0 -19
data/lib/rubygems.rb
CHANGED
@@ -5,13 +5,14 @@
|
|
5
5
|
# See LICENSE.txt for permissions.
|
6
6
|
#++
|
7
7
|
|
8
|
-
require 'rubygems/rubygems_version'
|
9
8
|
require 'rubygems/defaults'
|
10
9
|
require 'thread'
|
11
10
|
require 'etc'
|
12
11
|
|
13
12
|
module Gem
|
14
13
|
|
14
|
+
RubyGemsVersion = VERSION = '1.3.5'
|
15
|
+
|
15
16
|
##
|
16
17
|
# Raised when RubyGems is unable to load or activate a gem. Contains the
|
17
18
|
# name and version requirements of the gem that either conflicts with
|
@@ -383,7 +384,7 @@ module Gem
|
|
383
384
|
raise Gem::Exception, msg
|
384
385
|
end
|
385
386
|
|
386
|
-
File.join(spec.full_gem_path, spec.bindir, exec_name)
|
387
|
+
File.join(spec.full_gem_path, spec.bindir, exec_name)
|
387
388
|
end
|
388
389
|
|
389
390
|
##
|
@@ -88,6 +88,8 @@ By default, this RubyGems will install gem as:
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def execute
|
91
|
+
@verbose = Gem.configuration.really_verbose
|
92
|
+
|
91
93
|
install_destdir = options[:destdir]
|
92
94
|
|
93
95
|
unless install_destdir.empty? then
|
@@ -113,21 +115,29 @@ By default, this RubyGems will install gem as:
|
|
113
115
|
|
114
116
|
remove_source_caches install_destdir
|
115
117
|
|
118
|
+
say "RubyGems #{Gem::VERSION} installed"
|
119
|
+
|
116
120
|
install_rdoc
|
117
121
|
|
118
122
|
say
|
119
|
-
|
120
|
-
|
123
|
+
if @verbose then
|
124
|
+
say "-" * 78
|
125
|
+
say
|
126
|
+
end
|
121
127
|
|
122
|
-
release_notes = File.join Dir.pwd, '
|
123
|
-
"rel_#{Gem::RubyGemsVersion.gsub '.', '_'}.rdoc"
|
128
|
+
release_notes = File.join Dir.pwd, 'History.txt'
|
124
129
|
|
125
|
-
if File.exist? release_notes then
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
130
|
+
release_notes = if File.exist? release_notes then
|
131
|
+
open release_notes do |io|
|
132
|
+
text = io.gets '==='
|
133
|
+
text << io.gets('===')
|
134
|
+
text[0...-3]
|
135
|
+
end
|
136
|
+
else
|
137
|
+
"Oh-no! Unable to find release notes!"
|
138
|
+
end
|
139
|
+
|
140
|
+
say release_notes
|
131
141
|
|
132
142
|
say
|
133
143
|
say "-" * 78
|
@@ -145,7 +155,7 @@ By default, this RubyGems will install gem as:
|
|
145
155
|
end
|
146
156
|
|
147
157
|
def install_executables(bin_dir)
|
148
|
-
say "Installing gem executable"
|
158
|
+
say "Installing gem executable" if @verbose
|
149
159
|
|
150
160
|
@bin_file_names = []
|
151
161
|
|
@@ -203,7 +213,7 @@ TEXT
|
|
203
213
|
end
|
204
214
|
|
205
215
|
def install_lib(lib_dir)
|
206
|
-
say "Installing RubyGems"
|
216
|
+
say "Installing RubyGems" if @verbose
|
207
217
|
|
208
218
|
Dir.chdir 'lib' do
|
209
219
|
lib_files = Dir[File.join('**', '*rb')]
|
@@ -226,23 +236,23 @@ TEXT
|
|
226
236
|
if File.writable? gem_doc_dir and
|
227
237
|
(not File.exist? rubygems_doc_dir or
|
228
238
|
File.writable? rubygems_doc_dir) then
|
229
|
-
say "Removing old RubyGems RDoc and ri"
|
239
|
+
say "Removing old RubyGems RDoc and ri" if @verbose
|
230
240
|
Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir|
|
231
241
|
rm_rf dir
|
232
242
|
end
|
233
243
|
|
234
244
|
if options[:ri] then
|
235
245
|
ri_dir = File.join rubygems_doc_dir, 'ri'
|
236
|
-
say "Installing #{rubygems_name} ri into #{ri_dir}"
|
246
|
+
say "Installing #{rubygems_name} ri into #{ri_dir}" if @verbose
|
237
247
|
run_rdoc '--ri', '--op', ri_dir
|
238
248
|
end
|
239
249
|
|
240
250
|
if options[:rdoc] then
|
241
251
|
rdoc_dir = File.join rubygems_doc_dir, 'rdoc'
|
242
|
-
say "Installing #{rubygems_name} rdoc into #{rdoc_dir}"
|
252
|
+
say "Installing #{rubygems_name} rdoc into #{rdoc_dir}" if @verbose
|
243
253
|
run_rdoc '--op', rdoc_dir
|
244
254
|
end
|
245
|
-
|
255
|
+
elsif @verbose then
|
246
256
|
say "Skipping RDoc generation, #{gem_doc_dir} not writable"
|
247
257
|
say "Set the GEM_HOME environment variable if you want RDoc generated"
|
248
258
|
end
|
@@ -327,7 +337,7 @@ abort "#{deprecation_message}"
|
|
327
337
|
system_cache_file = File.join(install_destdir,
|
328
338
|
Gem::SourceInfoCache.system_cache_file)
|
329
339
|
|
330
|
-
say "Removing old source_cache files"
|
340
|
+
say "Removing old source_cache files" if Gem.configuration.really_verbose
|
331
341
|
rm_f user_cache_file if File.writable? File.dirname(user_cache_file)
|
332
342
|
rm_f system_cache_file if File.writable? File.dirname(system_cache_file)
|
333
343
|
end
|
data/lib/rubygems/config_file.rb
CHANGED
@@ -29,14 +29,21 @@ class Gem::ConfigFile
|
|
29
29
|
|
30
30
|
PLATFORM_DEFAULTS = {}
|
31
31
|
|
32
|
-
system_config_path =
|
32
|
+
system_config_path =
|
33
33
|
begin
|
34
34
|
require 'Win32API'
|
35
35
|
|
36
36
|
CSIDL_COMMON_APPDATA = 0x0023
|
37
37
|
path = 0.chr * 260
|
38
|
-
|
39
|
-
|
38
|
+
if RUBY_VERSION > '1.9' then
|
39
|
+
SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'PLPLP',
|
40
|
+
'L', :stdcall
|
41
|
+
SHGetFolderPath.call nil, CSIDL_COMMON_APPDATA, nil, 1, path
|
42
|
+
else
|
43
|
+
SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'LLLLP',
|
44
|
+
'L'
|
45
|
+
SHGetFolderPath.call 0, CSIDL_COMMON_APPDATA, 0, 1, path
|
46
|
+
end
|
40
47
|
|
41
48
|
path.strip
|
42
49
|
rescue LoadError
|
@@ -44,7 +51,7 @@ class Gem::ConfigFile
|
|
44
51
|
end
|
45
52
|
|
46
53
|
SYSTEM_WIDE_CONFIG_FILE = File.join system_config_path, 'gemrc'
|
47
|
-
|
54
|
+
|
48
55
|
# List of arguments supplied to the config file object.
|
49
56
|
attr_reader :args
|
50
57
|
|
data/lib/rubygems/indexer.rb
CHANGED
@@ -141,7 +141,7 @@ class Gem::Indexer
|
|
141
141
|
"Complete"
|
142
142
|
|
143
143
|
Gem.time 'Generated YAML quick index gemspecs' do
|
144
|
-
index.each do |original_name, spec|
|
144
|
+
index.released_gems.each do |original_name, spec|
|
145
145
|
spec_file_name = "#{original_name}.gemspec.rz"
|
146
146
|
yaml_name = File.join @quick_dir, spec_file_name
|
147
147
|
|
@@ -221,7 +221,7 @@ class Gem::Indexer
|
|
221
221
|
files = []
|
222
222
|
|
223
223
|
Gem.time 'Generated Marshal quick index gemspecs' do
|
224
|
-
|
224
|
+
index.gems.each do |original_name, spec|
|
225
225
|
spec_file_name = "#{original_name}.gemspec.rz"
|
226
226
|
marshal_name = File.join @quick_marshal_dir, spec_file_name
|
227
227
|
|
@@ -275,7 +275,7 @@ class Gem::Indexer
|
|
275
275
|
# Builds indicies for RubyGems 1.2 and newer. Handles full, latest, prerelease
|
276
276
|
|
277
277
|
def build_modern_indicies(index)
|
278
|
-
build_modern_index(index.sort, @specs_index, 'specs')
|
278
|
+
build_modern_index(index.released_specs.sort, @specs_index, 'specs')
|
279
279
|
build_modern_index(index.latest_specs.sort,
|
280
280
|
@latest_specs_index,
|
281
281
|
'latest specs')
|
@@ -534,7 +534,7 @@ class Gem::Indexer
|
|
534
534
|
FileUtils.rm_rf @directory
|
535
535
|
end
|
536
536
|
|
537
|
-
|
537
|
+
##
|
538
538
|
# Zlib::GzipWriter wrapper that gzips +filename+ on disk.
|
539
539
|
|
540
540
|
def gzip(filename)
|
@@ -654,8 +654,8 @@ class Gem::Indexer
|
|
654
654
|
files = build_marshal_gemspecs index
|
655
655
|
|
656
656
|
Gem.time 'Updated indexes' do
|
657
|
-
update_specs_index index, @dest_specs_index, @specs_index
|
658
|
-
update_specs_index index, @dest_latest_specs_index, @latest_specs_index
|
657
|
+
update_specs_index index.released_gems, @dest_specs_index, @specs_index
|
658
|
+
update_specs_index index.released_gems, @dest_latest_specs_index, @latest_specs_index
|
659
659
|
update_specs_index(index.prerelease_gems, @dest_prerelease_specs_index,
|
660
660
|
@prerelease_specs_index)
|
661
661
|
end
|
@@ -30,7 +30,7 @@ class Gem::SourceIndex
|
|
30
30
|
|
31
31
|
include Gem::UserInteraction
|
32
32
|
|
33
|
-
attr_reader :gems
|
33
|
+
attr_reader :gems # :nodoc:
|
34
34
|
|
35
35
|
##
|
36
36
|
# Directories to use to refresh this SourceIndex when calling refresh!
|
@@ -122,16 +122,22 @@ class Gem::SourceIndex
|
|
122
122
|
# #prerelease_gems
|
123
123
|
|
124
124
|
def initialize(specifications={})
|
125
|
-
@gems
|
125
|
+
@gems = {}
|
126
126
|
specifications.each{ |full_name, spec| add_spec spec }
|
127
127
|
@spec_dirs = nil
|
128
128
|
end
|
129
129
|
|
130
|
-
|
131
|
-
# Both regular and prerelease gems
|
132
|
-
|
130
|
+
# TODO: remove method
|
133
131
|
def all_gems
|
134
|
-
@gems
|
132
|
+
@gems
|
133
|
+
end
|
134
|
+
|
135
|
+
def prerelease_gems
|
136
|
+
@gems.reject{ |name, gem| !gem.version.prerelease? }
|
137
|
+
end
|
138
|
+
|
139
|
+
def released_gems
|
140
|
+
@gems.reject{ |name, gem| gem.version.prerelease? }
|
135
141
|
end
|
136
142
|
|
137
143
|
##
|
@@ -153,8 +159,8 @@ class Gem::SourceIndex
|
|
153
159
|
end
|
154
160
|
|
155
161
|
##
|
156
|
-
# Returns an Array specifications for the latest versions
|
157
|
-
# this index.
|
162
|
+
# Returns an Array specifications for the latest released versions
|
163
|
+
# of each gem in this index.
|
158
164
|
|
159
165
|
def latest_specs
|
160
166
|
result = Hash.new { |h,k| h[k] = [] }
|
@@ -165,6 +171,7 @@ class Gem::SourceIndex
|
|
165
171
|
curr_ver = spec.version
|
166
172
|
prev_ver = latest.key?(name) ? latest[name].version : nil
|
167
173
|
|
174
|
+
next if curr_ver.prerelease?
|
168
175
|
next unless prev_ver.nil? or curr_ver >= prev_ver or
|
169
176
|
latest[name].platform != Gem::Platform::RUBY
|
170
177
|
|
@@ -192,7 +199,14 @@ class Gem::SourceIndex
|
|
192
199
|
# An array including only the prerelease gemspecs
|
193
200
|
|
194
201
|
def prerelease_specs
|
195
|
-
|
202
|
+
prerelease_gems.values
|
203
|
+
end
|
204
|
+
|
205
|
+
##
|
206
|
+
# An array including only the released gemspecs
|
207
|
+
|
208
|
+
def released_specs
|
209
|
+
released_gems.values
|
196
210
|
end
|
197
211
|
|
198
212
|
##
|
@@ -201,11 +215,7 @@ class Gem::SourceIndex
|
|
201
215
|
def add_spec(gem_spec, name = gem_spec.full_name)
|
202
216
|
# No idea why, but the Indexer wants to insert them using original_name
|
203
217
|
# instead of full_name. So we make it an optional arg.
|
204
|
-
|
205
|
-
@prerelease_gems[name] = gem_spec
|
206
|
-
else
|
207
|
-
@gems[name] = gem_spec
|
208
|
-
end
|
218
|
+
@gems[name] = gem_spec
|
209
219
|
end
|
210
220
|
|
211
221
|
##
|
@@ -221,11 +231,7 @@ class Gem::SourceIndex
|
|
221
231
|
# Remove a gem specification named +full_name+.
|
222
232
|
|
223
233
|
def remove_spec(full_name)
|
224
|
-
|
225
|
-
@gems.delete full_name
|
226
|
-
else
|
227
|
-
@prerelease_gems.delete full_name
|
228
|
-
end
|
234
|
+
@gems.delete full_name
|
229
235
|
end
|
230
236
|
|
231
237
|
##
|
@@ -22,7 +22,7 @@ class Gem::SpecFetcher
|
|
22
22
|
attr_reader :latest_specs # :nodoc:
|
23
23
|
|
24
24
|
##
|
25
|
-
# Cache of all
|
25
|
+
# Cache of all released specs
|
26
26
|
|
27
27
|
attr_reader :specs # :nodoc:
|
28
28
|
|
@@ -61,8 +61,9 @@ class Gem::SpecFetcher
|
|
61
61
|
|
62
62
|
##
|
63
63
|
# Fetch specs matching +dependency+. If +all+ is true, all matching
|
64
|
-
# versions are returned. If +matching_platform+ is
|
65
|
-
# returned. If +prerelease+ is true,
|
64
|
+
# (released) versions are returned. If +matching_platform+ is
|
65
|
+
# false, all platforms are returned. If +prerelease+ is true,
|
66
|
+
# prerelease versions are included.
|
66
67
|
|
67
68
|
def fetch(dependency, all = false, matching_platform = true, prerelease = false)
|
68
69
|
specs_and_sources = find_matching dependency, all, matching_platform, prerelease
|
@@ -112,9 +113,9 @@ class Gem::SpecFetcher
|
|
112
113
|
end
|
113
114
|
|
114
115
|
##
|
115
|
-
# Find spec names that match +dependency+. If +all+ is true, all
|
116
|
-
# versions are returned. If +matching_platform+
|
117
|
-
# platforms are returned.
|
116
|
+
# Find spec names that match +dependency+. If +all+ is true, all
|
117
|
+
# matching released versions are returned. If +matching_platform+
|
118
|
+
# is false, gems for all platforms are returned.
|
118
119
|
|
119
120
|
def find_matching(dependency, all = false, matching_platform = true, prerelease = false)
|
120
121
|
found = {}
|
@@ -161,7 +162,7 @@ class Gem::SpecFetcher
|
|
161
162
|
|
162
163
|
##
|
163
164
|
# Returns a list of gems available for each source in Gem::sources. If
|
164
|
-
# +all+ is true, all versions are returned instead of only latest
|
165
|
+
# +all+ is true, all released versions are returned instead of only latest
|
165
166
|
# versions. If +prerelease+ is true, include prerelease versions.
|
166
167
|
|
167
168
|
def list(all = false, prerelease = false)
|
@@ -194,6 +195,12 @@ class Gem::SpecFetcher
|
|
194
195
|
list[source_uri] = cache[source_uri]
|
195
196
|
end
|
196
197
|
|
198
|
+
if type == :all
|
199
|
+
list.values.map do |gems|
|
200
|
+
gems.reject! { |g| g[1].prerelease? }
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
197
204
|
list
|
198
205
|
end
|
199
206
|
|
@@ -847,7 +847,7 @@ class Gem::Specification
|
|
847
847
|
'authors must be Array of Strings'
|
848
848
|
end
|
849
849
|
|
850
|
-
licenses.each{ |license|
|
850
|
+
licenses.each { |license|
|
851
851
|
if license.length > 64
|
852
852
|
raise Gem::InvalidSpecificationException,
|
853
853
|
"each license must be 64 characters or less"
|
data/test/test_gem.rb
CHANGED
@@ -78,14 +78,6 @@ class TestGem < RubyGemTestCase
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
def test_self_bin_path_with_spaces
|
82
|
-
quick_gem 'sp ace', '3' do |s|
|
83
|
-
s.executables = ['exec']
|
84
|
-
end
|
85
|
-
path = Gem.bin_path('sp ace', 'exec')
|
86
|
-
assert_equal %w(" "), [path[0,1], path[-1,1]], "Path should be escaped"
|
87
|
-
end
|
88
|
-
|
89
81
|
def test_self_bin_path_not_found
|
90
82
|
assert_raises(Gem::GemNotFoundException) do
|
91
83
|
Gem.bin_path('non-existent')
|
@@ -58,5 +58,25 @@ class TestGemCommandsUninstallCommand < GemInstallerTestCase
|
|
58
58
|
assert_empty output, "UI output should be empty after an uninstall error"
|
59
59
|
end
|
60
60
|
|
61
|
+
def test_execute_prerelease
|
62
|
+
@spec = quick_gem "pre", "2.b"
|
63
|
+
@gem = File.join @tempdir, "#{@spec.full_name}.gem"
|
64
|
+
FileUtils.touch @gem
|
65
|
+
|
66
|
+
util_setup_gem
|
67
|
+
|
68
|
+
use_ui @ui do
|
69
|
+
@installer.install
|
70
|
+
end
|
71
|
+
|
72
|
+
@cmd.options[:args] = ["pre"]
|
73
|
+
|
74
|
+
use_ui @ui do
|
75
|
+
@cmd.execute
|
76
|
+
end
|
77
|
+
|
78
|
+
output = @ui.output
|
79
|
+
assert_match(/Successfully uninstalled/, output)
|
80
|
+
end
|
61
81
|
end
|
62
82
|
|
data/test/test_gem_indexer.rb
CHANGED
@@ -118,10 +118,13 @@ class TestGemIndexer < RubyGemTestCase
|
|
118
118
|
expected = <<-EOF
|
119
119
|
a-1
|
120
120
|
a-2
|
121
|
+
a-3.a
|
121
122
|
a_evil-9
|
122
123
|
b-2
|
123
124
|
c-1.2
|
124
125
|
d-2.0
|
126
|
+
d-2.0.a
|
127
|
+
d-2.0.b
|
125
128
|
pl-1-i386-linux
|
126
129
|
EOF
|
127
130
|
|
@@ -163,13 +166,13 @@ pl-1-i386-linux
|
|
163
166
|
assert_indexed @tempdir, "latest_specs.#{@marshal_version}.gz"
|
164
167
|
|
165
168
|
expected = <<-EOF
|
166
|
-
<?xml version
|
167
|
-
<rss version
|
169
|
+
<?xml version=\"1.0\"?>
|
170
|
+
<rss version=\"2.0\">
|
168
171
|
<channel>
|
169
172
|
<title>ExampleForge gems</title>
|
170
173
|
<link>http://example.com</link>
|
171
174
|
<description>Recently released gems from http://example.com</description>
|
172
|
-
<generator>RubyGems
|
175
|
+
<generator>RubyGems v1.3.4</generator>
|
173
176
|
<docs>http://cyber.law.harvard.edu/rss/rss.html</docs>
|
174
177
|
<item>
|
175
178
|
<title>a-2</title>
|
@@ -178,9 +181,21 @@ pl-1-i386-linux
|
|
178
181
|
</description>
|
179
182
|
<author>example@example.com (A User)</author>
|
180
183
|
<guid>a-2</guid>
|
181
|
-
<enclosure url
|
182
|
-
length
|
183
|
-
<pubDate>#{
|
184
|
+
<enclosure url=\"http://gems.example.com/gems/a-2.gem\"
|
185
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
186
|
+
<pubDate>#{@a2.date.rfc2822}</pubDate>
|
187
|
+
<link>http://example.com</link>
|
188
|
+
</item>
|
189
|
+
<item>
|
190
|
+
<title>a-3.a</title>
|
191
|
+
<description>
|
192
|
+
<pre>This is a test description</pre>
|
193
|
+
</description>
|
194
|
+
<author>example@example.com (A User)</author>
|
195
|
+
<guid>a-3.a</guid>
|
196
|
+
<enclosure url=\"http://gems.example.com/gems/a-3.a.gem\"
|
197
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
198
|
+
<pubDate>#{@a3a.date.rfc2822}</pubDate>
|
184
199
|
<link>http://example.com</link>
|
185
200
|
</item>
|
186
201
|
<item>
|
@@ -190,9 +205,9 @@ pl-1-i386-linux
|
|
190
205
|
</description>
|
191
206
|
<author>example@example.com (A User)</author>
|
192
207
|
<guid>a_evil-9</guid>
|
193
|
-
<enclosure url
|
194
|
-
length
|
195
|
-
<pubDate>#{
|
208
|
+
<enclosure url=\"http://gems.example.com/gems/a_evil-9.gem\"
|
209
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
210
|
+
<pubDate>#{@a_evil9.date.rfc2822}</pubDate>
|
196
211
|
<link>http://example.com</link>
|
197
212
|
</item>
|
198
213
|
<item>
|
@@ -202,9 +217,9 @@ pl-1-i386-linux
|
|
202
217
|
</description>
|
203
218
|
<author>example@example.com (A User)</author>
|
204
219
|
<guid>b-2</guid>
|
205
|
-
<enclosure url
|
206
|
-
length
|
207
|
-
<pubDate>#{
|
220
|
+
<enclosure url=\"http://gems.example.com/gems/b-2.gem\"
|
221
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
222
|
+
<pubDate>#{@b2.date.rfc2822}</pubDate>
|
208
223
|
<link>http://example.com</link>
|
209
224
|
</item>
|
210
225
|
<item>
|
@@ -214,9 +229,33 @@ pl-1-i386-linux
|
|
214
229
|
</description>
|
215
230
|
<author>example@example.com (A User)</author>
|
216
231
|
<guid>c-1.2</guid>
|
217
|
-
<enclosure url
|
218
|
-
length
|
219
|
-
<pubDate>#{
|
232
|
+
<enclosure url=\"http://gems.example.com/gems/c-1.2.gem\"
|
233
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
234
|
+
<pubDate>#{@c1_2.date.rfc2822}</pubDate>
|
235
|
+
<link>http://example.com</link>
|
236
|
+
</item>
|
237
|
+
<item>
|
238
|
+
<title>d-2.0.a</title>
|
239
|
+
<description>
|
240
|
+
<pre>This is a test description</pre>
|
241
|
+
</description>
|
242
|
+
<author>example@example.com (A User)</author>
|
243
|
+
<guid>d-2.0.a</guid>
|
244
|
+
<enclosure url=\"http://gems.example.com/gems/d-2.0.a.gem\"
|
245
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
246
|
+
<pubDate>#{@d2_0_a.date.rfc2822}</pubDate>
|
247
|
+
<link>http://example.com</link>
|
248
|
+
</item>
|
249
|
+
<item>
|
250
|
+
<title>d-2.0.b</title>
|
251
|
+
<description>
|
252
|
+
<pre>This is a test description</pre>
|
253
|
+
</description>
|
254
|
+
<author>example@example.com (A User)</author>
|
255
|
+
<guid>d-2.0.b</guid>
|
256
|
+
<enclosure url=\"http://gems.example.com/gems/d-2.0.b.gem\"
|
257
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
258
|
+
<pubDate>#{@d2_0_b.date.rfc2822}</pubDate>
|
220
259
|
<link>http://example.com</link>
|
221
260
|
</item>
|
222
261
|
<item>
|
@@ -226,9 +265,9 @@ pl-1-i386-linux
|
|
226
265
|
</description>
|
227
266
|
<author>example@example.com (A User)</author>
|
228
267
|
<guid>pl-1-x86-linux</guid>
|
229
|
-
<enclosure url
|
230
|
-
length
|
231
|
-
<pubDate>#{
|
268
|
+
<enclosure url=\"http://gems.example.com/gems/pl-1-x86-linux.gem\"
|
269
|
+
length=\"3072\" type=\"application/octet-stream\" />
|
270
|
+
<pubDate>#{@pl1.date.rfc2822}</pubDate>
|
232
271
|
<link>http://example.com</link>
|
233
272
|
</item>
|
234
273
|
<item>
|
@@ -247,9 +286,9 @@ eighty characters.</pre>
|
|
247
286
|
</description>
|
248
287
|
<author>example@example.com (Example), example2@example.com (Example2)</author>
|
249
288
|
<guid>a-1</guid>
|
250
|
-
<enclosure url
|
251
|
-
length
|
252
|
-
<pubDate>#{
|
289
|
+
<enclosure url=\"http://gems.example.com/gems/a-1.gem\"
|
290
|
+
length=\"3584\" type=\"application/octet-stream\" />
|
291
|
+
<pubDate>#{@a1.date.rfc2822}</pubDate>
|
253
292
|
<link>http://a.example.com</link>
|
254
293
|
</item>
|
255
294
|
</channel>
|
@@ -462,9 +501,9 @@ eighty characters.</pre>
|
|
462
501
|
@ui.output
|
463
502
|
assert_match %r%^\.\.\.\.\.\.\.\.\.\.$%, @ui.output
|
464
503
|
assert_match %r%^Loaded all gems$%, @ui.output
|
465
|
-
assert_match %r%^Generating Marshal quick index gemspecs for
|
504
|
+
assert_match %r%^Generating Marshal quick index gemspecs for 10 gems$%,
|
466
505
|
@ui.output
|
467
|
-
assert_match %r%^Generating YAML quick index gemspecs for
|
506
|
+
assert_match %r%^Generating YAML quick index gemspecs for 10 gems$%,
|
468
507
|
@ui.output
|
469
508
|
assert_match %r%^Complete$%, @ui.output
|
470
509
|
assert_match %r%^Generating specs index$%, @ui.output
|
@@ -473,7 +512,7 @@ eighty characters.</pre>
|
|
473
512
|
assert_match %r%^Generating latest index$%, @ui.output
|
474
513
|
assert_match %r%^Generating prerelease specs index$%, @ui.output
|
475
514
|
assert_match %r%^Generating Marshal master index$%, @ui.output
|
476
|
-
assert_match %r%^Generating YAML master index for
|
515
|
+
assert_match %r%^Generating YAML master index for 10 gems \(this may take a while\)$%, @ui.output
|
477
516
|
assert_match %r%^Complete$%, @ui.output
|
478
517
|
assert_match %r%^Compressing indicies$%, @ui.output
|
479
518
|
|