diff --git a/lib/rdoc/code_object.rb b/lib/rdoc/code_object.rb index e4aedf3de4..2c28f6d0f4 100644 --- a/lib/rdoc/code_object.rb +++ b/lib/rdoc/code_object.rb @@ -300,11 +300,7 @@ def ignored? # This is used by Text#snippet def options - if @store and @store.rdoc then - @store.rdoc.options - else - RDoc::Options.new - end + @store&.options || RDoc::Options.new end ## diff --git a/lib/rdoc/code_object/context.rb b/lib/rdoc/code_object/context.rb index 061eb47ad3..2d2c5f90c8 100644 --- a/lib/rdoc/code_object/context.rb +++ b/lib/rdoc/code_object/context.rb @@ -482,7 +482,7 @@ def add_method method known.comment = method.comment if known.comment.empty? previously = ", previously in #{known.file}" unless method.file == known.file - @store.rdoc.options.warn \ + @store.options.warn \ "Duplicate method #{known.full_name} in #{method.file}#{previously}" end else diff --git a/lib/rdoc/generator/markup.rb b/lib/rdoc/generator/markup.rb index 76b7d458aa..206b3c53d4 100644 --- a/lib/rdoc/generator/markup.rb +++ b/lib/rdoc/generator/markup.rb @@ -34,7 +34,7 @@ def description def formatter return @formatter if defined? @formatter - options = @store.rdoc.options + options = @store.options this = RDoc::Context === self ? self : @parent @formatter = RDoc::Markup::ToHtmlCrossref.new options, this.path, this @@ -147,7 +147,7 @@ class RDoc::TopLevel # command line option to set. def cvs_url - url = @store.rdoc.options.webcvs + url = @store.options.webcvs if /%s/ =~ url then url % @relative_name diff --git a/lib/rdoc/store.rb b/lib/rdoc/store.rb index e85bc9d33a..eded996ac2 100644 --- a/lib/rdoc/store.rb +++ b/lib/rdoc/store.rb @@ -94,11 +94,7 @@ def message # :nodoc: attr_accessor :path - ## - # The RDoc::RDoc driver for this parse tree. This allows classes consulting - # the documentation tree to access user-set options, for example. - - attr_accessor :rdoc + attr_writer :rdoc ## # Type of ri datastore this was loaded from. See RDoc::RI::Driver, @@ -981,6 +977,10 @@ def unique_modules @unique_modules end + def options + @rdoc&.options + end + private def marshal_load(file) File.open(file, 'rb') {|io| Marshal.load(io, MarshalFilter)} diff --git a/lib/rdoc/text.rb b/lib/rdoc/text.rb index 9804f81abe..2350ba4b65 100644 --- a/lib/rdoc/text.rb +++ b/lib/rdoc/text.rb @@ -99,8 +99,8 @@ def flush_left text # Requires the including class to implement #formatter def markup text - if @store.rdoc.options - locale = @store.rdoc.options.locale + if @store.options + locale = @store.options.locale else locale = nil end diff --git a/test/rdoc/test_rdoc_code_object.rb b/test/rdoc/test_rdoc_code_object.rb index 8cf278f0ea..99aaa71038 100644 --- a/test/rdoc/test_rdoc_code_object.rb +++ b/test/rdoc/test_rdoc_code_object.rb @@ -122,7 +122,7 @@ def test_document_children_equals refute @co.document_children - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store @@ -137,7 +137,7 @@ def test_document_self_equals @co.document_self = false refute @co.document_self - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store @@ -190,7 +190,7 @@ def test_done_documenting @co.done_documenting = true - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store @@ -236,7 +236,7 @@ def test_ignore refute @co.document_children assert @co.ignored? - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store @@ -381,7 +381,7 @@ def test_store_equals refute @co.document_self - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store @@ -397,7 +397,7 @@ def test_stop_doc refute @co.document_self refute @co.document_children - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store @@ -417,7 +417,7 @@ def test_suppress refute @co.document_children assert @co.suppressed? - @store.rdoc.options.visibility = :nodoc + @store.options.visibility = :nodoc @co.store = @store diff --git a/test/rdoc/test_rdoc_context.rb b/test/rdoc/test_rdoc_context.rb index c4de04e083..840fc261b3 100644 --- a/test/rdoc/test_rdoc_context.rb +++ b/test/rdoc/test_rdoc_context.rb @@ -219,7 +219,7 @@ def test_add_method_alias end def test_add_method_duplicate - @store.rdoc.options.verbosity = 2 + @store.options.verbosity = 2 meth1 = RDoc::AnyMethod.new nil, 'name' meth1.record_location @store.add_file 'first.rb' diff --git a/test/rdoc/test_rdoc_rdoc.rb b/test/rdoc/test_rdoc_rdoc.rb index 9c94988ffd..2041908d8a 100644 --- a/test/rdoc/test_rdoc_rdoc.rb +++ b/test/rdoc/test_rdoc_rdoc.rb @@ -31,7 +31,6 @@ def test_document # functional test end assert File.directory? 'ri' - assert_equal rdoc, rdoc.store.rdoc end store = rdoc.store @@ -58,7 +57,6 @@ def test_document_with_dry_run # functional test end refute File.directory? 'doc' - assert_equal rdoc, rdoc.store.rdoc end assert_includes out, '100%' diff --git a/test/rdoc/test_rdoc_servlet.rb b/test/rdoc/test_rdoc_servlet.rb index 7a5b15a6eb..a6faf84827 100644 --- a/test/rdoc/test_rdoc_servlet.rb +++ b/test/rdoc/test_rdoc_servlet.rb @@ -294,9 +294,6 @@ def test_generator_for assert_equal 'MAIN_PAGE.rdoc', @s.options.main_page assert_equal 'Title', @s.options.title - - assert_kind_of RDoc::RDoc, store.rdoc - assert_same generator, store.rdoc.generator end def test_if_modified_since