rdoc-rake 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.
data.tar.gz.sig ADDED
Binary file
data/.autotest ADDED
@@ -0,0 +1,17 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'autotest/restart'
4
+
5
+ Autotest.add_hook :initialize do |at|
6
+ at.libs << ':../trunk/lib'
7
+ at.testlib = 'minitest/unit'
8
+
9
+ def at.path_to_classname(s)
10
+ sep = File::SEPARATOR
11
+ f = s.sub(/^test#{sep}/, '').sub(/\.rb$/, '').split(sep)
12
+ f = f.map { |path| path.split(/_|(\d+)/).map { |seg| seg.capitalize }.join }
13
+ f = f.map { |path| path =~ /^Test/ ? path : "Test#{path}" }
14
+ f.join('::').sub 'Rdoc', 'RDoc'
15
+ end
16
+ end
17
+
data/History.txt ADDED
@@ -0,0 +1,6 @@
1
+ === 1.0.0 / 2010-04-19
2
+
3
+ * 1 major enhancement
4
+
5
+ * Birthday!
6
+
data/Manifest.txt ADDED
@@ -0,0 +1,8 @@
1
+ .autotest
2
+ History.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ lib/rdoc/discover.rb
7
+ lib/rdoc/parser/rake.rb
8
+ test/test_rdoc_parser_rake.rb
data/README.txt ADDED
@@ -0,0 +1,50 @@
1
+ = rdoc_rake
2
+
3
+ * http://rdoc.rubyforge.org/rdoc-rake
4
+
5
+ == DESCRIPTION:
6
+
7
+ RDoc plugin for documenting rake tasks
8
+
9
+ == FEATURES/PROBLEMS:
10
+
11
+ * Little special handling for HTML output
12
+ * Probably inaccessible via ri (but why?)
13
+
14
+ == SYNOPSIS:
15
+
16
+ gem install rdoc-rake
17
+ rdoc lib Rakefile README.txt --main README.txt
18
+
19
+ == REQUIREMENTS:
20
+
21
+ * rdoc 2.5+
22
+
23
+ == INSTALL:
24
+
25
+ * gem install rdoc-rake
26
+
27
+ == LICENSE:
28
+
29
+ (The MIT License)
30
+
31
+ Copyright (c) 2010 Eric Hodel
32
+
33
+ Permission is hereby granted, free of charge, to any person obtaining
34
+ a copy of this software and associated documentation files (the
35
+ 'Software'), to deal in the Software without restriction, including
36
+ without limitation the rights to use, copy, modify, merge, publish,
37
+ distribute, sublicense, and/or sell copies of the Software, and to
38
+ permit persons to whom the Software is furnished to do so, subject to
39
+ the following conditions:
40
+
41
+ The above copyright notice and this permission notice shall be
42
+ included in all copies or substantial portions of the Software.
43
+
44
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
45
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
46
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
47
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
48
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
49
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
50
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,17 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+ require 'hoe/git'
6
+
7
+ Hoe.add_include_dirs '../trunk/lib'
8
+
9
+ Hoe.spec 'rdoc-rake' do
10
+ self.rubyforge_name = 'rdoc'
11
+ developer 'Eric Hodel', 'drbrain@segment7.net'
12
+
13
+ extra_deps << ['rdoc', '~> 2.5']
14
+ extra_rdoc_files << 'Rakefile'
15
+ end
16
+
17
+ # vim: syntax=Ruby
@@ -0,0 +1,2 @@
1
+ require 'rdoc/parser/rake'
2
+
@@ -0,0 +1,309 @@
1
+ require 'rdoc/parser/ruby'
2
+
3
+ ##
4
+ # Maps task builders like Hoe or RDoc::Task to an RDoc::Include
5
+
6
+ class RDoc::RakeBuilder < RDoc::Include
7
+ end
8
+
9
+ ##
10
+ # Maps a Rake namespace to an RDoc::NormalModule
11
+
12
+ class RDoc::RakeNamespace < RDoc::NormalModule
13
+ end
14
+
15
+ ##
16
+ # Maps a Rake::Task to an RDoc::AnyMethod
17
+
18
+ class RDoc::RakeTask < RDoc::AnyMethod
19
+
20
+ attr_accessor :dependencies
21
+
22
+ def initialize(*args)
23
+ super
24
+ @dependencies = []
25
+ end
26
+
27
+ end
28
+
29
+ ##
30
+ # An RDoc parser for Rakefiles.
31
+
32
+ class RDoc::Parser::Rake < RDoc::Parser
33
+
34
+ VERSION = '1.0'
35
+
36
+ include RDoc::RubyToken
37
+ include RDoc::TokenStream
38
+ include RDoc::Parser::RubyTools
39
+
40
+ parse_files_matching(/Rakefile(\.rb)?$/i)
41
+ parse_files_matching(/\.rake$/)
42
+
43
+ def initialize(top_level, file_name, content, options, stats)
44
+ super
45
+
46
+ @size = 0
47
+ @token_listeners = nil
48
+ @scanner = RDoc::RubyLex.new content, @options
49
+ @scanner.exception_on_syntax_error = false
50
+ @rake_tasks = @top_level.add_module RDoc::RakeNamespace, 'Rake Tasks'
51
+
52
+ reset
53
+ end
54
+
55
+ ##
56
+ # Consumes an Array
57
+
58
+ def consume_array
59
+ tokens = get_tk_until TkRBRACK
60
+ tokens << get_tk
61
+ tokens
62
+ end
63
+
64
+ ##
65
+ # Consumes the body of a task
66
+
67
+ def consume_body
68
+ seen_nest = false
69
+ nest = 0
70
+
71
+ body = []
72
+
73
+ while tk = get_tk do
74
+ body << tk
75
+
76
+ case tk
77
+ when TkDO, TkCLASS, TkMODULE, TkDEF, TkBEGIN, TkIF, TkUNLESS, TkCASE,
78
+ TkWHILE, TkUNTIL, TkFOR then
79
+ nest += 1
80
+ seen_nest = true
81
+ when TkEND then
82
+ nest -= 1
83
+ when TkNL then
84
+ break unless seen_nest
85
+ end
86
+
87
+ break if nest == 0 and seen_nest
88
+ end
89
+
90
+ body
91
+ end
92
+
93
+ ##
94
+ # Consumes arguments to a task
95
+
96
+ def consume_task_arguments
97
+ skip_tkspace false
98
+
99
+ tk = get_tk
100
+
101
+ case tk
102
+ when TkNL, TkDO then
103
+ unget_tk tk
104
+ when TkASSIGN then
105
+ get_tk # finish assoc, lexer bug
106
+ skip_tkspace
107
+
108
+ case tk = get_tk
109
+ when TkLBRACK then
110
+ tokens = consume_array
111
+ tokens = tokens.select do |token| TkSYMBOL === token end
112
+ tokens = tokens.map do |token| token.to_sym end
113
+ @task.dependencies.push(*tokens)
114
+ when TkSYMBOL then # ok
115
+ @task.dependencies << tk.to_sym
116
+ else
117
+ puts :task_arg => tk
118
+ end
119
+ end
120
+ end
121
+
122
+ ##
123
+ # Parses a Rake description
124
+ #
125
+ # desc "My cool task"
126
+
127
+ def parse_description
128
+ skip_tkspace
129
+
130
+ tk = get_tk
131
+
132
+ @desc = tk.text[1..-2]
133
+ end
134
+
135
+ ##
136
+ # Parses a Rake namespace
137
+ #
138
+ # namespace "doc"
139
+
140
+ def parse_namespace
141
+ skip_tkspace
142
+
143
+ tk = get_tk
144
+
145
+ namespace = @container.add_module RDoc::RakeNamespace, tk.text[1..-1]
146
+
147
+ skip_tkspace
148
+
149
+ old_namespace = @container
150
+
151
+ begin
152
+ @nest += 1
153
+ @container = namespace
154
+
155
+ parse_rakefile
156
+ ensure
157
+ @container = old_namespace
158
+ @nest -= 1
159
+ end
160
+ end
161
+
162
+ ##
163
+ # Parses a Rake task
164
+ #
165
+ # task "my_cool_task"
166
+
167
+ def parse_task(tk)
168
+ collect_tokens
169
+ add_token tk
170
+
171
+ token_listener self do
172
+ skip_tkspace false
173
+
174
+ tk = get_tk
175
+ name = tk.text
176
+
177
+ @task = @container.find_instance_method_named name
178
+
179
+ unless @task then
180
+ @task = RDoc::RakeTask.new tokens_to_s, name
181
+ @container.add_method @task
182
+ @stats.add_method @task
183
+ end
184
+
185
+ @task.comment += use_desc
186
+
187
+ consume_task_arguments
188
+ end
189
+
190
+ @task.collect_tokens
191
+ @task.add_tokens token_stream
192
+
193
+ token_listener @task do
194
+ consume_body
195
+ end
196
+
197
+ @task
198
+ end
199
+
200
+ ##
201
+ # Parses a Rake task builder
202
+ #
203
+ # Hoe.new 'my_cool_project' do # ...
204
+
205
+ def parse_task_builder(tk)
206
+ name = tk.name
207
+
208
+ if 'ENV' == name then
209
+ get_tk_until TkNL
210
+ return
211
+ end
212
+
213
+ get_tk_until TkDO, TkNL
214
+
215
+ tk = get_tk
216
+
217
+ case tk
218
+ when TkDO then
219
+ unget_tk tk
220
+ consume_body
221
+ end
222
+
223
+ builder = RDoc::RakeBuilder.new name, ''
224
+
225
+ @container.add_include builder
226
+ end
227
+
228
+ ##
229
+ # Parses a Rakefile
230
+
231
+ def parse_rakefile
232
+ current_nest = @nest
233
+
234
+ while tk = get_tk do
235
+ case tk
236
+ when TkCONSTANT then
237
+ parse_task_builder tk
238
+ when TkDO then
239
+ @nest += 1
240
+ when TkEND then
241
+ @nest -= 1
242
+ break if current_nest > 0 and @nest <= current_nest
243
+ when TkIDENTIFIER then
244
+ case tk.name
245
+ when 'desc' then
246
+ parse_description
247
+ when 'task' then
248
+ parse_task(tk)
249
+ when 'namespace' then
250
+ parse_namespace
251
+ when 'require' then
252
+ parse_require
253
+ #else
254
+ # p :ident => tk
255
+ end
256
+ when TkNL, TkSPACE then # ignore
257
+ #else
258
+ # p :unhandled => tk
259
+ end
260
+ end
261
+ end
262
+
263
+ ##
264
+ # Adds a new RDoc::Require to the container
265
+
266
+ def parse_require
267
+ skip_tkspace false
268
+
269
+ tk = get_tk
270
+
271
+ name = tk.text if TkSTRING === tk
272
+
273
+ if name then
274
+ @container.add_require RDoc::Require.new(name, '')
275
+ else
276
+ unget_tk tk
277
+ end
278
+ end
279
+
280
+ ##
281
+ # Performs the work of parsing a rakefile
282
+
283
+ def scan
284
+ reset
285
+
286
+ @container = @rake_tasks
287
+
288
+ @stats.add_module @container
289
+
290
+ catch :eof do
291
+ catch :enddoc do
292
+ parse_rakefile
293
+ end
294
+ end
295
+
296
+ @top_level
297
+ end
298
+
299
+ ##
300
+ # Uses the last description encountered
301
+
302
+ def use_desc
303
+ desc = @desc
304
+ @desc = nil
305
+ desc || ''
306
+ end
307
+
308
+ end
309
+
@@ -0,0 +1,276 @@
1
+ require 'stringio'
2
+ require 'tempfile'
3
+ require 'rubygems'
4
+ require 'minitest/autorun'
5
+
6
+ require 'rdoc'
7
+ require 'rdoc/options'
8
+ require 'rdoc/parser/rake'
9
+
10
+ class TestRDocParserRake < MiniTest::Unit::TestCase
11
+
12
+ def setup
13
+ @tempfile = Tempfile.new self.class.name
14
+ @filename = @tempfile.path
15
+
16
+ util_top_level
17
+
18
+ @options = RDoc::Options.new
19
+ @options.quiet = true
20
+ @stats = RDoc::Stats.new 0
21
+ end
22
+
23
+ def teardown
24
+ @tempfile.close
25
+ end
26
+
27
+ def test_parse_tasks
28
+ rakefile = <<-RAKE
29
+ desc "my cool task"
30
+ task :default do
31
+ puts "you ran my cool task!"
32
+ end
33
+ RAKE
34
+
35
+ util_parser rakefile
36
+
37
+ @parser.scan
38
+
39
+ util_tasks
40
+ assert_equal 1, @tasks.length
41
+ task = @tasks.first
42
+
43
+ assert_equal ':default', task.name
44
+ assert_equal 'my cool task', task.comment
45
+ assert_equal 'task :default', task.text
46
+ end
47
+
48
+ def test_parse_tasks_dependency
49
+ rakefile = <<-RAKE
50
+ desc "my cool task"
51
+ task :default => :test do
52
+ puts "you ran my cool task!"
53
+ end
54
+ RAKE
55
+
56
+ util_parser rakefile
57
+
58
+ @parser.scan
59
+
60
+ util_tasks
61
+ assert_equal 1, @tasks.length
62
+ task = @tasks.first
63
+
64
+ assert_equal ':default', task.name
65
+ assert_equal 'my cool task', task.comment
66
+
67
+ assert_equal 'task :default', task.text
68
+ assert_equal [:test], task.dependencies
69
+
70
+ expected = [
71
+ tk(:identifier, 2, 0, 'task', 'task'),
72
+ tk(:space, 2, 4, nil, ' '),
73
+ tk(:symbol, 2, 5, nil, ':default'),
74
+ tk(:space, 2, 13, nil, ' '),
75
+ tk(:assign, 2, 14, nil, '='),
76
+ tk(:gt, 2, 15, nil, '>'),
77
+ tk(:space, 2, 16, nil, ' '),
78
+ tk(:symbol, 2, 17, nil, ':test'),
79
+ tk(:space, 2, 22, nil, ' '),
80
+ tk(:do, 2, 23, 'do', 'do'),
81
+ tk(:nl, 2, 25, nil, "\n"),
82
+ tk(:space, 3, 0, nil, ' '),
83
+ tk(:identifier, 3, 2, 'puts', 'puts'),
84
+ tk(:space, 3, 6, nil, ' '),
85
+ tk(:string, 3, 7, nil, '"you ran my cool task!"'),
86
+ tk(:nl, 3, 30, nil, "\n"),
87
+ tk(:end, 4, 0, 'end', 'end'),
88
+ ]
89
+
90
+ assert_equal expected, task.token_stream
91
+ end
92
+
93
+ def test_parse_tasks_dependency_only
94
+ rakefile = <<-RAKE
95
+ desc "my cool task"
96
+ task :default => :test
97
+
98
+ task :test => :build
99
+ RAKE
100
+
101
+ util_parser rakefile
102
+
103
+ @parser.scan
104
+
105
+ util_tasks
106
+ assert_equal 2, @tasks.length
107
+ task = @tasks.first
108
+
109
+ assert_equal ':default', task.name
110
+ assert_equal 'my cool task', task.comment
111
+ assert_equal 'task :default', task.text
112
+ assert_equal [:test], task.dependencies
113
+
114
+ expected = [
115
+ tk(:identifier, 2, 0, 'task', 'task'),
116
+ tk(:space, 2, 4, nil, ' '),
117
+ tk(:symbol, 2, 5, nil, ':default'),
118
+ tk(:space, 2, 13, nil, ' '),
119
+ tk(:assign, 2, 14, nil, '='), # lexer bug
120
+ tk(:gt, 2, 15, nil, '>'),
121
+ tk(:space, 2, 16, nil, ' '),
122
+ tk(:symbol, 2, 17, nil, ':test'),
123
+ tk(:nl, 2, 22, nil, "\n"),
124
+ ]
125
+
126
+ assert_equal expected, task.token_stream
127
+ end
128
+
129
+ def test_parse_tasks_dependencies
130
+ rakefile = <<-RAKE
131
+ desc "my cool task"
132
+ task :default => [:build, :test]
133
+ RAKE
134
+
135
+ util_parser rakefile
136
+
137
+ @parser.scan
138
+
139
+ util_tasks
140
+ assert_equal 1, @tasks.length
141
+ task = @tasks.first
142
+
143
+ assert_equal ':default', task.name
144
+ assert_equal 'my cool task', task.comment
145
+ assert_equal 'task :default', task.text
146
+ assert_equal [:build, :test], task.dependencies
147
+ end
148
+
149
+ def test_parse_tasks_hoe
150
+ rakefile = <<-RAKE
151
+ Hoe.spec 'my_cool_project' do
152
+ developer 'Cool Guy', 'cool_guy@example.com'
153
+ end
154
+
155
+ desc "my cool task"
156
+ task :default do
157
+ puts "you ran my cool task!"
158
+ end
159
+ RAKE
160
+
161
+ util_parser rakefile
162
+
163
+ @parser.scan
164
+
165
+ util_tasks
166
+ assert_equal 1, @tasks.length
167
+ task = @tasks.first
168
+
169
+ assert_equal ':default', task.name
170
+
171
+ assert_equal 1, @rake_tasks.includes.length
172
+ hoe = @rake_tasks.includes.first
173
+
174
+ assert_equal 'Hoe', hoe.name
175
+ end
176
+
177
+ def test_parse_tasks_require
178
+ rakefile = <<-RAKE
179
+ require 'blah'
180
+ RAKE
181
+
182
+ util_parser rakefile
183
+
184
+ @parser.scan
185
+
186
+ assert_equal 1, @top_level.requires.length
187
+ require = @top_level.requires.first
188
+
189
+ assert_equal 'blah', require.name
190
+ end
191
+
192
+ def test_parse_tasks_split
193
+ rakefile = <<-RAKE
194
+ desc "my cool task"
195
+ task :default => :build
196
+
197
+ task :default => :test
198
+ RAKE
199
+
200
+ util_parser rakefile
201
+
202
+ @parser.scan
203
+
204
+ util_tasks
205
+ assert_equal 1, @tasks.length
206
+ task = @tasks.first
207
+
208
+ assert_equal ':default', task.name
209
+ assert_equal 'my cool task', task.comment
210
+ assert_equal 'task :default', task.text
211
+ assert_equal [:build, :test], task.dependencies
212
+ end
213
+
214
+ def test_parse_tasks_namespage
215
+ rakefile = <<-RAKE
216
+ desc "my cool task"
217
+ task :default do
218
+ puts "you ran my cool task!"
219
+ end
220
+
221
+ namespace :cool do
222
+ task :awesome do
223
+ end
224
+ end
225
+
226
+ desc "this is another cool task"
227
+ task :other
228
+ RAKE
229
+
230
+ util_parser rakefile
231
+
232
+ @parser.scan
233
+
234
+ #pp @top_level
235
+ util_tasks
236
+
237
+ assert_equal 2, @tasks.length
238
+ task = @tasks.first
239
+
240
+ assert_equal ':default', @tasks.first.name
241
+ assert_equal ':other', @tasks.last.name
242
+ end
243
+
244
+ def tk(klass, line, char, name, text) # HACK dup
245
+ klass = RDoc::RubyToken.const_get "Tk#{klass.to_s.upcase}"
246
+
247
+ token = if klass.instance_method(:initialize).arity == 3 then
248
+ raise ArgumentError, "name not used for #{klass}" unless name.nil?
249
+ klass.new nil, line, char
250
+ else
251
+ klass.new nil, line, char, name
252
+ end
253
+
254
+ token.set_text text
255
+
256
+ token
257
+ end
258
+
259
+ def util_parser(content)
260
+ @parser = RDoc::Parser::Rake.new @top_level, @filename, content, @options,
261
+ @stats
262
+ end
263
+
264
+ def util_top_level
265
+ RDoc::TopLevel.reset
266
+ @top_level = RDoc::TopLevel.new @filename
267
+ end
268
+
269
+ def util_tasks
270
+ @rake_tasks = @top_level.modules.first
271
+
272
+ @tasks = @rake_tasks.method_list
273
+ end
274
+
275
+ end
276
+
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rdoc-rake
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 0
8
+ version: "1.0"
9
+ platform: ruby
10
+ authors:
11
+ - Eric Hodel
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain:
15
+ - |
16
+ -----BEGIN CERTIFICATE-----
17
+ MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
18
+ YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
19
+ ZXQwHhcNMDcxMjIxMDIwNDE0WhcNMDgxMjIwMDIwNDE0WjBBMRAwDgYDVQQDDAdk
20
+ cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
21
+ FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
22
+ LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
23
+ U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm
24
+ Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY
25
+ mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd
26
+ g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh
27
+ sCANiQ8BAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
28
+ BBS5k4Z75VSpdM0AclG2UvzFA/VW5DANBgkqhkiG9w0BAQUFAAOCAQEAHagT4lfX
29
+ kP/hDaiwGct7XPuVGbrOsKRVD59FF5kETBxEc9UQ1clKWngf8JoVuEoKD774dW19
30
+ bU0GOVWO+J6FMmT/Cp7nuFJ79egMf/gy4gfUfQMuvfcr6DvZUPIs9P/TlK59iMYF
31
+ DIOQ3DxdF3rMzztNUCizN4taVscEsjCcgW6WkUJnGdqlu3OHWpQxZBJkBTjPCoc6
32
+ UW6on70SFPmAy/5Cq0OJNGEWBfgD9q7rrs/X8GGwUWqXb85RXnUVi/P8Up75E0ag
33
+ 14jEc90kN+C7oI/AGCBN0j6JnEtYIEJZibjjDJTSMWlUKKkj30kq7hlUC2CepJ4v
34
+ x52qPcexcYZR7w==
35
+ -----END CERTIFICATE-----
36
+
37
+ date: 2010-04-19 00:00:00 -07:00
38
+ default_executable:
39
+ dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: rdoc
42
+ prerelease: false
43
+ requirement: &id001 !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ segments:
48
+ - 2
49
+ - 5
50
+ version: "2.5"
51
+ type: :runtime
52
+ version_requirements: *id001
53
+ - !ruby/object:Gem::Dependency
54
+ name: rubyforge
55
+ prerelease: false
56
+ requirement: &id002 !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ segments:
61
+ - 2
62
+ - 0
63
+ - 3
64
+ version: 2.0.3
65
+ type: :development
66
+ version_requirements: *id002
67
+ - !ruby/object:Gem::Dependency
68
+ name: gemcutter
69
+ prerelease: false
70
+ requirement: &id003 !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ segments:
75
+ - 0
76
+ - 5
77
+ - 0
78
+ version: 0.5.0
79
+ type: :development
80
+ version_requirements: *id003
81
+ - !ruby/object:Gem::Dependency
82
+ name: hoe
83
+ prerelease: false
84
+ requirement: &id004 !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ segments:
89
+ - 2
90
+ - 5
91
+ - 0
92
+ version: 2.5.0
93
+ type: :development
94
+ version_requirements: *id004
95
+ description: RDoc plugin for documenting rake tasks
96
+ email:
97
+ - drbrain@segment7.net
98
+ executables: []
99
+
100
+ extensions: []
101
+
102
+ extra_rdoc_files:
103
+ - History.txt
104
+ - Manifest.txt
105
+ - README.txt
106
+ - Rakefile
107
+ files:
108
+ - .autotest
109
+ - History.txt
110
+ - Manifest.txt
111
+ - README.txt
112
+ - Rakefile
113
+ - lib/rdoc/discover.rb
114
+ - lib/rdoc/parser/rake.rb
115
+ - test/test_rdoc_parser_rake.rb
116
+ has_rdoc: true
117
+ homepage: http://rdoc.rubyforge.org/rdoc-rake
118
+ licenses: []
119
+
120
+ post_install_message:
121
+ rdoc_options:
122
+ - --main
123
+ - README.txt
124
+ require_paths:
125
+ - lib
126
+ required_ruby_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ segments:
131
+ - 0
132
+ version: "0"
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ segments:
138
+ - 0
139
+ version: "0"
140
+ requirements: []
141
+
142
+ rubyforge_project: rdoc
143
+ rubygems_version: 1.3.6
144
+ signing_key:
145
+ specification_version: 3
146
+ summary: RDoc plugin for documenting rake tasks
147
+ test_files:
148
+ - test/test_rdoc_parser_rake.rb
metadata.gz.sig ADDED
@@ -0,0 +1 @@
1
+ J_nF���A�f�Y��B���<V��&���&�]�8�� ِղ���}���?�0f�l�a� ��9�7񬴃.a��9��W��W��[��X� {�Ϛ��+��M�