mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rdoc/parser/ruby.rb: Ignore methods defined on constants to
prevent modules with the names of constants from appearing in the documentation. * test/rdoc/test_rdoc_parser_ruby.rb: Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d3d00ab8fe
commit
a6ed298df7
3 changed files with 53 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
Thu Dec 20 15:22:59 2012 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
|
* lib/rdoc/parser/ruby.rb: Ignore methods defined on constants to
|
||||||
|
prevent modules with the names of constants from appearing in the
|
||||||
|
documentation.
|
||||||
|
* test/rdoc/test_rdoc_parser_ruby.rb: Test for the above.
|
||||||
|
|
||||||
Thu Dec 20 16:00:33 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
|
Thu Dec 20 16:00:33 2012 Martin Bosslet <Martin.Bosslet@gmail.com>
|
||||||
|
|
||||||
* ext/openssl/ossl_cipher.c: add support for Authenticated Encryption
|
* ext/openssl/ossl_cipher.c: add support for Authenticated Encryption
|
||||||
|
|
|
@ -1116,6 +1116,18 @@ class RDoc::Parser::Ruby < RDoc::Parser
|
||||||
name = name_t2.name
|
name = name_t2.name
|
||||||
prev_container = container
|
prev_container = container
|
||||||
container = container.find_module_named(name_t.name)
|
container = container.find_module_named(name_t.name)
|
||||||
|
|
||||||
|
unless container then
|
||||||
|
constant = prev_container.constants.find do |const|
|
||||||
|
const.name == name_t.name
|
||||||
|
end
|
||||||
|
|
||||||
|
if constant then
|
||||||
|
parse_method_dummy prev_container
|
||||||
|
return
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
unless container then
|
unless container then
|
||||||
added_container = true
|
added_container = true
|
||||||
obj = name_t.name.split("::").inject(Object) do |state, item|
|
obj = name_t.name.split("::").inject(Object) do |state, item|
|
||||||
|
@ -1138,10 +1150,7 @@ class RDoc::Parser::Ruby < RDoc::Parser
|
||||||
container.record_location @top_level
|
container.record_location @top_level
|
||||||
end
|
end
|
||||||
when TkIDENTIFIER, TkIVAR, TkGVAR then
|
when TkIDENTIFIER, TkIVAR, TkGVAR then
|
||||||
dummy = RDoc::Context.new
|
parse_method_dummy container
|
||||||
dummy.parent = container
|
|
||||||
dummy.store = container.store
|
|
||||||
skip_method dummy
|
|
||||||
return
|
return
|
||||||
when TkTRUE, TkFALSE, TkNIL then
|
when TkTRUE, TkFALSE, TkNIL then
|
||||||
klass_name = "#{name_t.name.capitalize}Class"
|
klass_name = "#{name_t.name.capitalize}Class"
|
||||||
|
@ -1228,6 +1237,16 @@ class RDoc::Parser::Ruby < RDoc::Parser
|
||||||
@stats.add_method meth
|
@stats.add_method meth
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Parses a method that needs to be ignored.
|
||||||
|
|
||||||
|
def parse_method_dummy container
|
||||||
|
dummy = RDoc::Context.new
|
||||||
|
dummy.parent = container
|
||||||
|
dummy.store = container.store
|
||||||
|
skip_method dummy
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# Extracts +yield+ parameters from +method+
|
# Extracts +yield+ parameters from +method+
|
||||||
|
|
||||||
|
|
|
@ -1525,6 +1525,21 @@ end
|
||||||
assert ampersand.singleton
|
assert ampersand.singleton
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_parse_method_constant
|
||||||
|
c = RDoc::Constant.new 'CONST', nil, ''
|
||||||
|
m = @top_level.add_class RDoc::NormalModule, 'M'
|
||||||
|
m.add_constant c
|
||||||
|
|
||||||
|
util_parser "def CONST.m() end"
|
||||||
|
|
||||||
|
tk = @parser.get_tk
|
||||||
|
|
||||||
|
@parser.parse_method m, RDoc::Parser::Ruby::NORMAL, tk, @comment
|
||||||
|
|
||||||
|
assert_empty @store.modules_hash.keys
|
||||||
|
assert_equal %w[M], @store.classes_hash.keys
|
||||||
|
end
|
||||||
|
|
||||||
def test_parse_method_false
|
def test_parse_method_false
|
||||||
util_parser "def false.foo() :bar end"
|
util_parser "def false.foo() :bar end"
|
||||||
|
|
||||||
|
@ -1766,6 +1781,14 @@ end
|
||||||
assert_equal "def \317\211", omega.text
|
assert_equal "def \317\211", omega.text
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_parse_method_dummy
|
||||||
|
util_parser ".method() end"
|
||||||
|
|
||||||
|
@parser.parse_method_dummy @top_level
|
||||||
|
|
||||||
|
assert_nil @parser.get_tk
|
||||||
|
end
|
||||||
|
|
||||||
def test_parse_method_or_yield_parameters_hash
|
def test_parse_method_or_yield_parameters_hash
|
||||||
util_parser "({})\n"
|
util_parser "({})\n"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue