rdoc 5.0.0 → 6.3.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CONTRIBUTING.rdoc +4 -4
- data/Gemfile +9 -0
- data/History.rdoc +12 -2
- data/README.rdoc +5 -6
- data/Rakefile +35 -65
- data/lib/rdoc/alias.rb +1 -1
- data/lib/rdoc/anon_class.rb +1 -1
- data/lib/rdoc/any_method.rb +59 -15
- data/lib/rdoc/attr.rb +1 -1
- data/lib/rdoc/class_module.rb +5 -3
- data/lib/rdoc/code_object.rb +2 -9
- data/lib/rdoc/code_objects.rb +1 -1
- data/lib/rdoc/comment.rb +32 -11
- data/lib/rdoc/constant.rb +3 -3
- data/lib/rdoc/context/section.rb +1 -14
- data/lib/rdoc/context.rb +74 -21
- data/lib/rdoc/cross_reference.rb +33 -15
- data/lib/rdoc/encoding.rb +58 -30
- data/lib/rdoc/erb_partial.rb +2 -2
- data/lib/rdoc/erbio.rb +8 -4
- data/lib/rdoc/extend.rb +1 -1
- data/lib/rdoc/generator/darkfish.rb +60 -29
- data/lib/rdoc/generator/json_index.rb +7 -4
- data/lib/rdoc/generator/markup.rb +3 -13
- data/lib/rdoc/generator/pot/message_extractor.rb +1 -1
- data/lib/rdoc/generator/pot/po.rb +3 -3
- data/lib/rdoc/generator/pot/po_entry.rb +11 -11
- data/lib/rdoc/generator/pot.rb +4 -4
- data/lib/rdoc/generator/ri.rb +1 -1
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +9 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml +2 -2
- data/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +7 -7
- data/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +6 -6
- data/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +5 -5
- data/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +4 -4
- data/lib/rdoc/generator/template/darkfish/class.rhtml +45 -47
- data/lib/rdoc/generator/template/darkfish/css/rdoc.css +55 -6
- data/lib/rdoc/generator/template/darkfish/index.rhtml +3 -4
- data/lib/rdoc/generator/template/darkfish/js/darkfish.js +22 -99
- data/lib/rdoc/generator/template/darkfish/js/search.js +32 -31
- data/lib/rdoc/generator/template/darkfish/servlet_root.rhtml +15 -16
- data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +16 -16
- data/lib/rdoc/generator/template/json_index/js/navigation.js +4 -41
- data/lib/rdoc/generator/template/json_index/js/searcher.js +6 -6
- data/lib/rdoc/generator.rb +1 -1
- data/lib/rdoc/ghost_method.rb +1 -1
- data/lib/rdoc/i18n/locale.rb +2 -2
- data/lib/rdoc/i18n/text.rb +5 -5
- data/lib/rdoc/i18n.rb +3 -3
- data/lib/rdoc/include.rb +1 -1
- data/lib/rdoc/known_classes.rb +1 -1
- data/lib/rdoc/markdown/entities.rb +1 -1
- data/lib/rdoc/markdown/literals.kpeg +1 -0
- data/lib/rdoc/markdown/literals.rb +19 -7
- data/lib/rdoc/markdown.kpeg +92 -44
- data/lib/rdoc/markdown.rb +1171 -610
- data/lib/rdoc/markup/attr_changer.rb +1 -1
- data/lib/rdoc/markup/attr_span.rb +9 -3
- data/lib/rdoc/markup/attribute_manager.rb +115 -50
- data/lib/rdoc/markup/attributes.rb +7 -7
- data/lib/rdoc/markup/blank_line.rb +1 -1
- data/lib/rdoc/markup/block_quote.rb +1 -1
- data/lib/rdoc/markup/document.rb +1 -1
- data/lib/rdoc/markup/formatter.rb +25 -24
- data/lib/rdoc/markup/hard_break.rb +1 -1
- data/lib/rdoc/markup/heading.rb +4 -4
- data/lib/rdoc/markup/include.rb +1 -1
- data/lib/rdoc/markup/indented_paragraph.rb +1 -1
- data/lib/rdoc/markup/list.rb +1 -1
- data/lib/rdoc/markup/list_item.rb +1 -1
- data/lib/rdoc/markup/paragraph.rb +1 -1
- data/lib/rdoc/markup/parser.rb +79 -47
- data/lib/rdoc/markup/pre_process.rb +11 -6
- data/lib/rdoc/markup/raw.rb +1 -1
- data/lib/rdoc/markup/regexp_handling.rb +41 -0
- data/lib/rdoc/markup/rule.rb +1 -1
- data/lib/rdoc/markup/to_ansi.rb +1 -1
- data/lib/rdoc/markup/to_bs.rb +4 -4
- data/lib/rdoc/markup/to_html.rb +71 -26
- data/lib/rdoc/markup/to_html_crossref.rb +41 -26
- data/lib/rdoc/markup/to_html_snippet.rb +10 -10
- data/lib/rdoc/markup/to_joined_paragraph.rb +7 -32
- data/lib/rdoc/markup/to_label.rb +10 -10
- data/lib/rdoc/markup/to_markdown.rb +9 -9
- data/lib/rdoc/markup/to_rdoc.rb +35 -7
- data/lib/rdoc/markup/to_table_of_contents.rb +2 -1
- data/lib/rdoc/markup/to_test.rb +1 -1
- data/lib/rdoc/markup/to_tt_only.rb +3 -3
- data/lib/rdoc/markup/verbatim.rb +1 -1
- data/lib/rdoc/markup.rb +14 -17
- data/lib/rdoc/meta_method.rb +1 -1
- data/lib/rdoc/method_attr.rb +2 -2
- data/lib/rdoc/mixin.rb +1 -1
- data/lib/rdoc/normal_class.rb +3 -3
- data/lib/rdoc/normal_module.rb +1 -1
- data/lib/rdoc/options.rb +79 -21
- data/lib/rdoc/parser/c.rb +147 -194
- data/lib/rdoc/parser/changelog.rb +150 -19
- data/lib/rdoc/parser/markdown.rb +1 -1
- data/lib/rdoc/parser/rd.rb +1 -1
- data/lib/rdoc/parser/ripper_state_lex.rb +590 -0
- data/lib/rdoc/parser/ruby.rb +634 -465
- data/lib/rdoc/parser/ruby_tools.rb +33 -34
- data/lib/rdoc/parser/simple.rb +3 -3
- data/lib/rdoc/parser/text.rb +1 -1
- data/lib/rdoc/parser.rb +12 -35
- data/lib/rdoc/rd/block_parser.rb +109 -108
- data/lib/rdoc/rd/block_parser.ry +3 -3
- data/lib/rdoc/rd/inline.rb +5 -5
- data/lib/rdoc/rd/inline_parser.rb +186 -185
- data/lib/rdoc/rd/inline_parser.ry +1 -1
- data/lib/rdoc/rd.rb +1 -1
- data/lib/rdoc/rdoc.rb +54 -41
- data/lib/rdoc/require.rb +1 -1
- data/lib/rdoc/ri/driver.rb +132 -42
- data/lib/rdoc/ri/formatter.rb +1 -1
- data/lib/rdoc/ri/paths.rb +4 -18
- data/lib/rdoc/ri/store.rb +1 -1
- data/lib/rdoc/ri/task.rb +2 -2
- data/lib/rdoc/ri.rb +1 -1
- data/lib/rdoc/rubygems_hook.rb +3 -3
- data/lib/rdoc/servlet.rb +21 -12
- data/lib/rdoc/single_class.rb +1 -1
- data/lib/rdoc/stats/normal.rb +24 -18
- data/lib/rdoc/stats/quiet.rb +1 -1
- data/lib/rdoc/stats/verbose.rb +1 -1
- data/lib/rdoc/stats.rb +1 -1
- data/lib/rdoc/store.rb +38 -27
- data/lib/rdoc/task.rb +2 -2
- data/lib/rdoc/text.rb +16 -21
- data/lib/rdoc/token_stream.rb +56 -33
- data/lib/rdoc/tom_doc.rb +17 -12
- data/lib/rdoc/top_level.rb +9 -3
- data/lib/rdoc/version.rb +8 -0
- data/lib/rdoc.rb +24 -10
- data/man/ri.1 +247 -0
- data/rdoc.gemspec +206 -15
- metadata +15 -64
- data/.document +0 -5
- data/.gitignore +0 -13
- data/.travis.yml +0 -23
- data/lib/gauntlet_rdoc.rb +0 -82
- data/lib/rdoc/generator/template/darkfish/js/jquery.js +0 -4
- data/lib/rdoc/markup/formatter_test_case.rb +0 -764
- data/lib/rdoc/markup/inline.rb +0 -2
- data/lib/rdoc/markup/special.rb +0 -41
- data/lib/rdoc/markup/text_formatter_test_case.rb +0 -115
- data/lib/rdoc/ruby_lex.rb +0 -1367
- data/lib/rdoc/ruby_token.rb +0 -461
- data/lib/rdoc/test_case.rb +0 -204
data/lib/rdoc/ri/formatter.rb
CHANGED
data/lib/rdoc/ri/paths.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# frozen_string_literal:
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative '../rdoc'
|
3
3
|
|
4
4
|
##
|
5
5
|
# The directories where ri data lives. Paths can be enumerated via ::each, or
|
@@ -12,23 +12,9 @@ module RDoc::RI::Paths
|
|
12
12
|
|
13
13
|
version = RbConfig::CONFIG['ruby_version']
|
14
14
|
|
15
|
-
BASE =
|
16
|
-
File.join RbConfig::CONFIG['ridir'], version
|
17
|
-
else
|
18
|
-
File.join RbConfig::CONFIG['datadir'], 'ri', version
|
19
|
-
end
|
15
|
+
BASE = File.join RbConfig::CONFIG['ridir'], version
|
20
16
|
|
21
|
-
|
22
|
-
File.expand_path('~')
|
23
|
-
rescue ArgumentError
|
24
|
-
end
|
25
|
-
|
26
|
-
homedir ||= ENV['HOME'] ||
|
27
|
-
ENV['USERPROFILE'] || ENV['HOMEPATH'] # for 1.8 compatibility
|
28
|
-
|
29
|
-
HOMEDIR = if homedir then
|
30
|
-
File.join homedir, ".rdoc"
|
31
|
-
end
|
17
|
+
HOMEDIR = RDoc.home
|
32
18
|
#:startdoc:
|
33
19
|
|
34
20
|
##
|
data/lib/rdoc/ri/store.rb
CHANGED
data/lib/rdoc/ri/task.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
begin
|
3
3
|
gem 'rdoc'
|
4
4
|
rescue Gem::LoadError
|
5
5
|
end unless defined?(RDoc)
|
6
6
|
|
7
|
-
|
7
|
+
require_relative '../task'
|
8
8
|
|
9
9
|
##
|
10
10
|
# RDoc::RI::Task creates ri data in <code>./.rdoc</code> for your project.
|
data/lib/rdoc/ri.rb
CHANGED
data/lib/rdoc/rubygems_hook.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
require 'rubygems/user_interaction'
|
3
3
|
require 'fileutils'
|
4
4
|
require 'rdoc'
|
@@ -70,7 +70,7 @@ class RDoc::RubygemsHook
|
|
70
70
|
def self.load_rdoc
|
71
71
|
return if @rdoc_version
|
72
72
|
|
73
|
-
|
73
|
+
require_relative 'rdoc'
|
74
74
|
|
75
75
|
@rdoc_version = Gem::Version.new ::RDoc::VERSION
|
76
76
|
end
|
@@ -158,7 +158,7 @@ class RDoc::RubygemsHook
|
|
158
158
|
|
159
159
|
case config_args = Gem.configuration[:rdoc]
|
160
160
|
when String then
|
161
|
-
args = args.concat config_args.split
|
161
|
+
args = args.concat config_args.split(' ')
|
162
162
|
when Array then
|
163
163
|
args = args.concat config_args
|
164
164
|
end
|
data/lib/rdoc/servlet.rb
CHANGED
@@ -1,8 +1,14 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
require 'rdoc'
|
3
|
+
require 'erb'
|
3
4
|
require 'time'
|
4
5
|
require 'json'
|
5
|
-
|
6
|
+
|
7
|
+
begin
|
8
|
+
require 'webrick'
|
9
|
+
rescue LoadError
|
10
|
+
abort "webrick is not found. You may need to `gem install webrick` to install webrick."
|
11
|
+
end
|
6
12
|
|
7
13
|
##
|
8
14
|
# This is a WEBrick servlet that allows you to browse ri documentation.
|
@@ -101,9 +107,9 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet
|
|
101
107
|
res.body = File.read asset_path
|
102
108
|
|
103
109
|
res.content_type = case req.path
|
104
|
-
when /
|
105
|
-
when /
|
106
|
-
else
|
110
|
+
when /\.css\z/ then 'text/css'
|
111
|
+
when /\.js\z/ then 'application/javascript'
|
112
|
+
else 'application/octet-stream'
|
107
113
|
end
|
108
114
|
end
|
109
115
|
|
@@ -111,7 +117,7 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet
|
|
111
117
|
# GET request entry point. Fills in +res+ for the path, etc. in +req+.
|
112
118
|
|
113
119
|
def do_GET req, res
|
114
|
-
req.path.sub!(
|
120
|
+
req.path.sub!(/\A#{Regexp.escape @mount_path}/, '') if @mount_path
|
115
121
|
|
116
122
|
case req.path
|
117
123
|
when '/' then
|
@@ -144,11 +150,14 @@ class RDoc::Servlet < WEBrick::HTTPServlet::AbstractServlet
|
|
144
150
|
# +generator+ is used to create the page.
|
145
151
|
|
146
152
|
def documentation_page store, generator, path, req, res
|
147
|
-
|
153
|
+
text_name = path.chomp '.html'
|
154
|
+
name = text_name.gsub '/', '::'
|
148
155
|
|
149
156
|
if klass = store.find_class_or_module(name) then
|
150
157
|
res.body = generator.generate_class klass
|
151
|
-
elsif page = store.find_text_page(name.sub(/_([^_]*)
|
158
|
+
elsif page = store.find_text_page(name.sub(/_([^_]*)\z/, '.\1')) then
|
159
|
+
res.body = generator.generate_page page
|
160
|
+
elsif page = store.find_text_page(text_name.sub(/_([^_]*)\z/, '.\1')) then
|
152
161
|
res.body = generator.generate_page page
|
153
162
|
else
|
154
163
|
not_found generator, req, res
|
@@ -217,7 +226,7 @@ exception:
|
|
217
226
|
<pre>#{ERB::Util.html_escape exception.message}</pre>
|
218
227
|
|
219
228
|
<p>Please report this to the
|
220
|
-
<a href="https://github.com/
|
229
|
+
<a href="https://github.com/ruby/rdoc/issues">RDoc issues tracker</a>. Please
|
221
230
|
include the RDoc version, the URI above and exception class, message and
|
222
231
|
backtrace. If you're viewing a gem's documentation, include the gem name and
|
223
232
|
version. If you're viewing Ruby's documentation, include the version of ruby.
|
@@ -415,7 +424,7 @@ version. If you're viewing Ruby's documentation, include the version of ruby.
|
|
415
424
|
RDoc::Store.new RDoc::RI::Paths.system_dir, :system
|
416
425
|
when 'site' then
|
417
426
|
RDoc::Store.new RDoc::RI::Paths.site_dir, :site
|
418
|
-
when
|
427
|
+
when /\Aextra-(\d+)\z/ then
|
419
428
|
index = $1.to_i - 1
|
420
429
|
ri_dir = installed_docs[index][4]
|
421
430
|
RDoc::Store.new ri_dir, :extra
|
@@ -427,14 +436,14 @@ version. If you're viewing Ruby's documentation, include the version of ruby.
|
|
427
436
|
end
|
428
437
|
|
429
438
|
raise WEBrick::HTTPStatus::NotFound,
|
430
|
-
"Could not find gem \"#{source_name}\". Are you sure you installed it?" unless ri_dir
|
439
|
+
"Could not find gem \"#{ERB::Util.html_escape(source_name)}\". Are you sure you installed it?" unless ri_dir
|
431
440
|
|
432
441
|
store = RDoc::Store.new ri_dir, type
|
433
442
|
|
434
443
|
return store if File.exist? store.cache_path
|
435
444
|
|
436
445
|
raise WEBrick::HTTPStatus::NotFound,
|
437
|
-
"Could not find documentation for \"#{source_name}\". Please run `gem rdoc --ri gem_name`"
|
446
|
+
"Could not find documentation for \"#{ERB::Util.html_escape(source_name)}\". Please run `gem rdoc --ri gem_name`"
|
438
447
|
|
439
448
|
end
|
440
449
|
end
|
data/lib/rdoc/single_class.rb
CHANGED
data/lib/rdoc/stats/normal.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
-
# frozen_string_literal:
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
begin
|
3
|
+
require 'io/console/size'
|
4
|
+
rescue LoadError
|
5
|
+
# for JRuby
|
6
|
+
require 'io/console'
|
7
|
+
end
|
3
8
|
|
4
9
|
##
|
5
10
|
# Stats printer that prints just the files being documented with a progress
|
@@ -21,27 +26,28 @@ class RDoc::Stats::Normal < RDoc::Stats::Quiet
|
|
21
26
|
files_so_far,
|
22
27
|
@num_files)
|
23
28
|
|
24
|
-
# Print a progress bar, but make sure it fits on a single line. Filename
|
25
|
-
# will be truncated if necessary.
|
26
|
-
terminal_width = IO.console_size[1].to_i.nonzero? || 80
|
27
|
-
max_filename_size = terminal_width - progress_bar.size
|
28
|
-
|
29
|
-
if filename.size > max_filename_size then
|
30
|
-
# Turn "some_long_filename.rb" to "...ong_filename.rb"
|
31
|
-
filename = filename[(filename.size - max_filename_size) .. -1]
|
32
|
-
filename[0..2] = "..."
|
33
|
-
end
|
34
|
-
|
35
|
-
line = "#{progress_bar}#{filename}"
|
36
29
|
if $stdout.tty?
|
30
|
+
# Print a progress bar, but make sure it fits on a single line. Filename
|
31
|
+
# will be truncated if necessary.
|
32
|
+
size = IO.respond_to?(:console_size) ? IO.console_size : IO.console.winsize
|
33
|
+
terminal_width = size[1].to_i.nonzero? || 80
|
34
|
+
max_filename_size = (terminal_width - progress_bar.size) - 1
|
35
|
+
|
36
|
+
if filename.size > max_filename_size then
|
37
|
+
# Turn "some_long_filename.rb" to "...ong_filename.rb"
|
38
|
+
filename = filename[(filename.size - max_filename_size) .. -1]
|
39
|
+
filename[0..2] = "..."
|
40
|
+
end
|
41
|
+
|
37
42
|
# Clean the line with whitespaces so that leftover output from the
|
38
43
|
# previous line doesn't show up.
|
39
|
-
$stdout.print("\r
|
40
|
-
@last_width =
|
41
|
-
|
44
|
+
$stdout.print("\r\e[K") if @last_width && @last_width > 0
|
45
|
+
@last_width = progress_bar.size + filename.size
|
46
|
+
term = "\r"
|
42
47
|
else
|
43
|
-
|
48
|
+
term = "\n"
|
44
49
|
end
|
50
|
+
$stdout.print(progress_bar, filename, term)
|
45
51
|
$stdout.flush
|
46
52
|
end
|
47
53
|
|
data/lib/rdoc/stats/quiet.rb
CHANGED
data/lib/rdoc/stats/verbose.rb
CHANGED
data/lib/rdoc/stats.rb
CHANGED
data/lib/rdoc/store.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
require 'fileutils'
|
3
3
|
|
4
4
|
##
|
@@ -116,6 +116,11 @@ class RDoc::Store
|
|
116
116
|
|
117
117
|
attr_accessor :encoding
|
118
118
|
|
119
|
+
##
|
120
|
+
# The lazy constants alias will be discovered in passing
|
121
|
+
|
122
|
+
attr_reader :unmatched_constant_alias
|
123
|
+
|
119
124
|
##
|
120
125
|
# Creates a new Store of +type+ that will load or save to +path+
|
121
126
|
|
@@ -143,6 +148,7 @@ class RDoc::Store
|
|
143
148
|
@classes_hash = {}
|
144
149
|
@modules_hash = {}
|
145
150
|
@files_hash = {}
|
151
|
+
@text_files_hash = {}
|
146
152
|
|
147
153
|
@c_enclosure_classes = {}
|
148
154
|
@c_enclosure_names = {}
|
@@ -152,6 +158,8 @@ class RDoc::Store
|
|
152
158
|
|
153
159
|
@unique_classes = nil
|
154
160
|
@unique_modules = nil
|
161
|
+
|
162
|
+
@unmatched_constant_alias = {}
|
155
163
|
end
|
156
164
|
|
157
165
|
##
|
@@ -177,16 +185,24 @@ class RDoc::Store
|
|
177
185
|
# Adds the file with +name+ as an RDoc::TopLevel to the store. Returns the
|
178
186
|
# created RDoc::TopLevel.
|
179
187
|
|
180
|
-
def add_file absolute_name, relative_name
|
188
|
+
def add_file absolute_name, relative_name: absolute_name, parser: nil
|
181
189
|
unless top_level = @files_hash[relative_name] then
|
182
190
|
top_level = RDoc::TopLevel.new absolute_name, relative_name
|
191
|
+
top_level.parser = parser if parser
|
183
192
|
top_level.store = self
|
184
193
|
@files_hash[relative_name] = top_level
|
194
|
+
@text_files_hash[relative_name] = top_level if top_level.text?
|
185
195
|
end
|
186
196
|
|
187
197
|
top_level
|
188
198
|
end
|
189
199
|
|
200
|
+
def update_parser_of_file(absolute_name, parser)
|
201
|
+
if top_level = @files_hash[absolute_name] then
|
202
|
+
@text_files_hash[absolute_name] = top_level if top_level.text?
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
190
206
|
##
|
191
207
|
# Returns all classes discovered by RDoc
|
192
208
|
|
@@ -421,8 +437,8 @@ class RDoc::Store
|
|
421
437
|
# +file_name+
|
422
438
|
|
423
439
|
def find_text_page file_name
|
424
|
-
@
|
425
|
-
file.
|
440
|
+
@text_files_hash.each_value.find do |file|
|
441
|
+
file.full_name == file_name
|
426
442
|
end
|
427
443
|
end
|
428
444
|
|
@@ -466,7 +482,7 @@ class RDoc::Store
|
|
466
482
|
when :gem then
|
467
483
|
parent = File.expand_path '..', @path
|
468
484
|
"gem #{File.basename parent}"
|
469
|
-
when :home then
|
485
|
+
when :home then RDoc.home
|
470
486
|
when :site then 'ruby site'
|
471
487
|
when :system then 'ruby core'
|
472
488
|
else @path
|
@@ -530,6 +546,7 @@ class RDoc::Store
|
|
530
546
|
@cache[:pages].each do |page_name|
|
531
547
|
page = load_page page_name
|
532
548
|
@files_hash[page_name] = page
|
549
|
+
@text_files_hash[page_name] = page if page.text?
|
533
550
|
end
|
534
551
|
end
|
535
552
|
|
@@ -539,7 +556,7 @@ class RDoc::Store
|
|
539
556
|
def load_cache
|
540
557
|
#orig_enc = @encoding
|
541
558
|
|
542
|
-
open cache_path, 'rb' do |io|
|
559
|
+
File.open cache_path, 'rb' do |io|
|
543
560
|
@cache = Marshal.load io.read
|
544
561
|
end
|
545
562
|
|
@@ -585,6 +602,8 @@ class RDoc::Store
|
|
585
602
|
case obj
|
586
603
|
when RDoc::NormalClass then
|
587
604
|
@classes_hash[klass_name] = obj
|
605
|
+
when RDoc::SingleClass then
|
606
|
+
@classes_hash[klass_name] = obj
|
588
607
|
when RDoc::NormalModule then
|
589
608
|
@modules_hash[klass_name] = obj
|
590
609
|
end
|
@@ -596,7 +615,7 @@ class RDoc::Store
|
|
596
615
|
def load_class_data klass_name
|
597
616
|
file = class_file klass_name
|
598
617
|
|
599
|
-
open file, 'rb' do |io|
|
618
|
+
File.open file, 'rb' do |io|
|
600
619
|
Marshal.load io.read
|
601
620
|
end
|
602
621
|
rescue Errno::ENOENT => e
|
@@ -611,7 +630,7 @@ class RDoc::Store
|
|
611
630
|
def load_method klass_name, method_name
|
612
631
|
file = method_file klass_name, method_name
|
613
632
|
|
614
|
-
open file, 'rb' do |io|
|
633
|
+
File.open file, 'rb' do |io|
|
615
634
|
obj = Marshal.load io.read
|
616
635
|
obj.store = self
|
617
636
|
obj.parent =
|
@@ -631,7 +650,7 @@ class RDoc::Store
|
|
631
650
|
def load_page page_name
|
632
651
|
file = page_file page_name
|
633
652
|
|
634
|
-
open file, 'rb' do |io|
|
653
|
+
File.open file, 'rb' do |io|
|
635
654
|
obj = Marshal.load io.read
|
636
655
|
obj.store = self
|
637
656
|
obj
|
@@ -703,8 +722,8 @@ class RDoc::Store
|
|
703
722
|
# Returns the RDoc::TopLevel that is a text file and has the given +name+
|
704
723
|
|
705
724
|
def page name
|
706
|
-
@
|
707
|
-
file.
|
725
|
+
@text_files_hash.each_value.find do |file|
|
726
|
+
file.page_name == name or file.base_name == name
|
708
727
|
end
|
709
728
|
end
|
710
729
|
|
@@ -776,10 +795,8 @@ class RDoc::Store
|
|
776
795
|
|
777
796
|
return if @dry_run
|
778
797
|
|
779
|
-
|
780
|
-
|
781
|
-
open cache_path, 'wb' do |io|
|
782
|
-
io.write marshal
|
798
|
+
File.open cache_path, 'wb' do |io|
|
799
|
+
Marshal.dump @cache, io
|
783
800
|
end
|
784
801
|
end
|
785
802
|
|
@@ -852,10 +869,8 @@ class RDoc::Store
|
|
852
869
|
|
853
870
|
FileUtils.rm_f to_delete
|
854
871
|
|
855
|
-
|
856
|
-
|
857
|
-
open path, 'wb' do |io|
|
858
|
-
io.write marshal
|
872
|
+
File.open path, 'wb' do |io|
|
873
|
+
Marshal.dump klass, io
|
859
874
|
end
|
860
875
|
end
|
861
876
|
|
@@ -877,10 +892,8 @@ class RDoc::Store
|
|
877
892
|
|
878
893
|
return if @dry_run
|
879
894
|
|
880
|
-
|
881
|
-
|
882
|
-
open method_file(full_name, method.full_name), 'wb' do |io|
|
883
|
-
io.write marshal
|
895
|
+
File.open method_file(full_name, method.full_name), 'wb' do |io|
|
896
|
+
Marshal.dump method, io
|
884
897
|
end
|
885
898
|
end
|
886
899
|
|
@@ -899,10 +912,8 @@ class RDoc::Store
|
|
899
912
|
|
900
913
|
return if @dry_run
|
901
914
|
|
902
|
-
|
903
|
-
|
904
|
-
open path, 'wb' do |io|
|
905
|
-
io.write marshal
|
915
|
+
File.open path, 'wb' do |io|
|
916
|
+
Marshal.dump page, io
|
906
917
|
end
|
907
918
|
end
|
908
919
|
|