Skip to content

Commit 8c55283

Browse files
committed
Add RDoc::Options.boolean
1 parent 40dbbb4 commit 8c55283

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

lib/rdoc/options.rb

+11
Original file line numberDiff line numberDiff line change
@@ -1378,4 +1378,15 @@ def self.load_options
13781378
options
13791379
end
13801380

1381+
def self.boolean(flag, message = nil)
1382+
if flag == true or flag == false
1383+
@autolink = flag
1384+
elsif "yes".casecmp(flag) == 0 or "true".casecmp(flag) == 0
1385+
@autolink = true
1386+
elsif "no".casecmp(flag) == 0 or "false".casecmp(flag) == 0
1387+
@autolink = false
1388+
else
1389+
raise ArgumentError, [message, flag.inspect].compact.join(": ")
1390+
end
1391+
end
13811392
end

test/rdoc/test_rdoc_options.rb

+14
Original file line numberDiff line numberDiff line change
@@ -963,6 +963,20 @@ def test_exclude_option_without_default
963963
assert_not_match exclude, "foo~"
964964
end
965965

966+
def test_boolean
967+
assert_equal true, RDoc::Options.boolean(true)
968+
assert_equal true, RDoc::Options.boolean("true")
969+
assert_equal true, RDoc::Options.boolean("yes")
970+
971+
assert_equal false, RDoc::Options.boolean(false)
972+
assert_equal false, RDoc::Options.boolean("false")
973+
assert_equal false, RDoc::Options.boolean("no")
974+
975+
assert_raise(ArgumentError) do
976+
RDoc::Options.boolean("unknown")
977+
end
978+
end
979+
966980
class DummyCoder < Hash
967981
alias add :[]=
968982
def tag=(tag)

0 commit comments

Comments
 (0)