[ruby/rdoc] Move RDoc::RDoc#load_options to RDoc::RDoc.load_options
https://github.com/ruby/rdoc/commit/ac85e01756
This commit is contained in:
parent
10ebf87428
commit
cf2faf2e33
@ -1282,4 +1282,33 @@ Usage: #{opt.program_name} [options] [names...]
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Loads options from .rdoc_options if the file exists, otherwise creates a
|
||||||
|
# new RDoc::Options instance.
|
||||||
|
|
||||||
|
def self.load_options
|
||||||
|
options_file = File.expand_path '.rdoc_options'
|
||||||
|
return RDoc::Options.new unless File.exist? options_file
|
||||||
|
|
||||||
|
RDoc.load_yaml
|
||||||
|
|
||||||
|
begin
|
||||||
|
options = YAML.safe_load File.read('.rdoc_options'), permitted_classes: [RDoc::Options, Symbol]
|
||||||
|
rescue Psych::SyntaxError
|
||||||
|
raise RDoc::Error, "#{options_file} is not a valid rdoc options file"
|
||||||
|
end
|
||||||
|
|
||||||
|
return RDoc::Options.new unless options # Allow empty file.
|
||||||
|
|
||||||
|
raise RDoc::Error, "#{options_file} is not a valid rdoc options file" unless
|
||||||
|
RDoc::Options === options or Hash === options
|
||||||
|
|
||||||
|
if Hash === options
|
||||||
|
# Override the default values with the contents of YAML file.
|
||||||
|
options = RDoc::Options.new options
|
||||||
|
end
|
||||||
|
|
||||||
|
options
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -14,7 +14,7 @@ require 'time'
|
|||||||
# is:
|
# is:
|
||||||
#
|
#
|
||||||
# rdoc = RDoc::RDoc.new
|
# rdoc = RDoc::RDoc.new
|
||||||
# options = rdoc.load_options # returns an RDoc::Options instance
|
# options = RDoc::Options.load_options # returns an RDoc::Options instance
|
||||||
# # set extra options
|
# # set extra options
|
||||||
# rdoc.document options
|
# rdoc.document options
|
||||||
#
|
#
|
||||||
@ -151,35 +151,6 @@ class RDoc::RDoc
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# Loads options from .rdoc_options if the file exists, otherwise creates a
|
|
||||||
# new RDoc::Options instance.
|
|
||||||
|
|
||||||
def load_options
|
|
||||||
options_file = File.expand_path '.rdoc_options'
|
|
||||||
return RDoc::Options.new unless File.exist? options_file
|
|
||||||
|
|
||||||
RDoc.load_yaml
|
|
||||||
|
|
||||||
begin
|
|
||||||
options = YAML.safe_load File.read('.rdoc_options'), permitted_classes: [RDoc::Options, Symbol]
|
|
||||||
rescue Psych::SyntaxError
|
|
||||||
raise RDoc::Error, "#{options_file} is not a valid rdoc options file"
|
|
||||||
end
|
|
||||||
|
|
||||||
return RDoc::Options.new unless options # Allow empty file.
|
|
||||||
|
|
||||||
raise RDoc::Error, "#{options_file} is not a valid rdoc options file" unless
|
|
||||||
RDoc::Options === options or Hash === options
|
|
||||||
|
|
||||||
if Hash === options
|
|
||||||
# Override the default values with the contents of YAML file.
|
|
||||||
options = RDoc::Options.new options
|
|
||||||
end
|
|
||||||
|
|
||||||
options
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Create an output dir if it doesn't exist. If it does exist, but doesn't
|
# Create an output dir if it doesn't exist. If it does exist, but doesn't
|
||||||
# contain the flag file <tt>created.rid</tt> then we refuse to use it, as
|
# contain the flag file <tt>created.rid</tt> then we refuse to use it, as
|
||||||
@ -471,7 +442,7 @@ The internal error was:
|
|||||||
@options = options
|
@options = options
|
||||||
@options.finish
|
@options.finish
|
||||||
else
|
else
|
||||||
@options = load_options
|
@options = RDoc::Options.load_options
|
||||||
@options.parse options
|
@options.parse options
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -777,4 +777,62 @@ rdoc_include:
|
|||||||
@options.visibility = :all
|
@options.visibility = :all
|
||||||
assert_equal :private, @options.visibility
|
assert_equal :private, @options.visibility
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_load_options
|
||||||
|
temp_dir do
|
||||||
|
options = RDoc::Options.new
|
||||||
|
options.markup = 'tomdoc'
|
||||||
|
options.write_options
|
||||||
|
|
||||||
|
options = RDoc::Options.load_options
|
||||||
|
|
||||||
|
assert_equal 'tomdoc', options.markup
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_load_options_invalid
|
||||||
|
temp_dir do
|
||||||
|
File.open '.rdoc_options', 'w' do |io|
|
||||||
|
io.write "a: !ruby.yaml.org,2002:str |\nfoo"
|
||||||
|
end
|
||||||
|
|
||||||
|
e = assert_raise RDoc::Error do
|
||||||
|
RDoc::Options.load_options
|
||||||
|
end
|
||||||
|
|
||||||
|
options_file = File.expand_path '.rdoc_options'
|
||||||
|
assert_equal "#{options_file} is not a valid rdoc options file", e.message
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_load_options_empty_file
|
||||||
|
temp_dir do
|
||||||
|
File.open '.rdoc_options', 'w' do |io|
|
||||||
|
end
|
||||||
|
|
||||||
|
options = RDoc::Options.load_options
|
||||||
|
|
||||||
|
assert_equal 'rdoc', options.markup
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_load_options_partial_override
|
||||||
|
temp_dir do
|
||||||
|
File.open '.rdoc_options', 'w' do |io|
|
||||||
|
io.write "markup: Markdown"
|
||||||
|
end
|
||||||
|
|
||||||
|
options = RDoc::Options.load_options
|
||||||
|
|
||||||
|
assert_equal 'Markdown', options.markup
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_options_no_file
|
||||||
|
temp_dir do
|
||||||
|
options = RDoc::Options.load_options
|
||||||
|
|
||||||
|
assert_kind_of RDoc::Options, options
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -106,64 +106,6 @@ class TestRDocRDoc < RDoc::TestCase
|
|||||||
$stdin = STDIN
|
$stdin = STDIN
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_load_options
|
|
||||||
temp_dir do
|
|
||||||
options = RDoc::Options.new
|
|
||||||
options.markup = 'tomdoc'
|
|
||||||
options.write_options
|
|
||||||
|
|
||||||
options = @rdoc.load_options
|
|
||||||
|
|
||||||
assert_equal 'tomdoc', options.markup
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_load_options_invalid
|
|
||||||
temp_dir do
|
|
||||||
File.open '.rdoc_options', 'w' do |io|
|
|
||||||
io.write "a: !ruby.yaml.org,2002:str |\nfoo"
|
|
||||||
end
|
|
||||||
|
|
||||||
e = assert_raise RDoc::Error do
|
|
||||||
@rdoc.load_options
|
|
||||||
end
|
|
||||||
|
|
||||||
options_file = File.expand_path '.rdoc_options'
|
|
||||||
assert_equal "#{options_file} is not a valid rdoc options file", e.message
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_load_options_empty_file
|
|
||||||
temp_dir do
|
|
||||||
File.open '.rdoc_options', 'w' do |io|
|
|
||||||
end
|
|
||||||
|
|
||||||
options = @rdoc.load_options
|
|
||||||
|
|
||||||
assert_equal 'rdoc', options.markup
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_load_options_partial_override
|
|
||||||
temp_dir do
|
|
||||||
File.open '.rdoc_options', 'w' do |io|
|
|
||||||
io.write "markup: Markdown"
|
|
||||||
end
|
|
||||||
|
|
||||||
options = @rdoc.load_options
|
|
||||||
|
|
||||||
assert_equal 'Markdown', options.markup
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def load_options_no_file
|
|
||||||
temp_dir do
|
|
||||||
options = @rdoc.load_options
|
|
||||||
|
|
||||||
assert_kind_of RDoc::Options, options
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_normalized_file_list
|
def test_normalized_file_list
|
||||||
test_path = File.expand_path(__FILE__)
|
test_path = File.expand_path(__FILE__)
|
||||||
files = temp_dir do |dir|
|
files = temp_dir do |dir|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user