Skip to content

Commit 20d71f1

Browse files
authored
Centralize generator setup (#1302)
Discovered when working on #1300 Currently we need to call `setup` in individual generation methods, despite having already called it in `RDoc#generate`. This is because `setup` is lazily called when we run `ri`'s server mode. By calling `setup` eagerly in `Servlet#generator_for`, we can avoid the repeated calls to `setup` in individual generation methods. Right now we can NOT move `setup` into `Darkfish#initialize` yet because `ri`'s server can[ initialize `Darkfish` with `nil` store](https://github.com/ruby/rdoc/blob/master/lib/rdoc/servlet.rb#L335).
1 parent b108da5 commit 20d71f1

File tree

2 files changed

+1
-16
lines changed

2 files changed

+1
-16
lines changed

lib/rdoc/generator/darkfish.rb

-16
Original file line numberDiff line numberDiff line change
@@ -301,8 +301,6 @@ def get_sorted_module_list classes
301301
# Generate an index page which lists all the classes which are documented.
302302

303303
def generate_index
304-
setup
305-
306304
template_file = @template_dir + 'index.rhtml'
307305
return unless template_file.exist?
308306

@@ -338,8 +336,6 @@ def generate_index
338336
# Generates a class file for +klass+
339337

340338
def generate_class klass, template_file = nil
341-
setup
342-
343339
current = klass
344340

345341
template_file ||= @template_dir + 'class.rhtml'
@@ -370,8 +366,6 @@ def generate_class klass, template_file = nil
370366
# Generate a documentation file for each class and module
371367

372368
def generate_class_files
373-
setup
374-
375369
template_file = @template_dir + 'class.rhtml'
376370
template_file = @template_dir + 'classpage.rhtml' unless
377371
template_file.exist?
@@ -397,8 +391,6 @@ def generate_class_files
397391
# Generate a documentation file for each file
398392

399393
def generate_file_files
400-
setup
401-
402394
page_file = @template_dir + 'page.rhtml'
403395
fileinfo_file = @template_dir + 'fileinfo.rhtml'
404396

@@ -466,8 +458,6 @@ def generate_file_files
466458
# Generate a page file for +file+
467459

468460
def generate_page file
469-
setup
470-
471461
template_file = @template_dir + 'page.rhtml'
472462

473463
out_file = @outputdir + file.path
@@ -495,8 +485,6 @@ def generate_page file
495485
# Generates the 404 page for the RDoc servlet
496486

497487
def generate_servlet_not_found message
498-
setup
499-
500488
template_file = @template_dir + 'servlet_not_found.rhtml'
501489
return unless template_file.exist?
502490

@@ -528,8 +516,6 @@ def generate_servlet_not_found message
528516
# Generates the servlet root page for the RDoc servlet
529517

530518
def generate_servlet_root installed
531-
setup
532-
533519
template_file = @template_dir + 'servlet_root.rhtml'
534520
return unless template_file.exist?
535521

@@ -555,8 +541,6 @@ def generate_servlet_root installed
555541
# Generate an index page which lists all the classes which are documented.
556542

557543
def generate_table_of_contents
558-
setup
559-
560544
template_file = @template_dir + 'table_of_contents.rhtml'
561545
return unless template_file.exist?
562546

lib/rdoc/servlet.rb

+1
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ def generator_for store
247247
generator = RDoc::Generator::Darkfish.new store, @options
248248
generator.file_output = false
249249
generator.asset_rel_path = '..'
250+
generator.setup
250251

251252
rdoc = RDoc::RDoc.new
252253
rdoc.store = store

0 commit comments

Comments
 (0)