* lib/delegate.rb (Delegator#methods): Kernel#methods receives

zero or one argument. [ruby-core:37118] [Bug #4882]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2011-12-04 03:05:03 +00:00
Родитель e21f885bb0
Коммит 6e56d645f0
4 изменённых файлов: 17 добавлений и 3 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Sun Dec 4 12:03:16 2011 NARUSE, Yui <naruse@ruby-lang.org>
* lib/delegate.rb (Delegator#methods): Kernel#methods receives
zero or one argument. [ruby-core:37118] [Bug #4882]
Sun Dec 4 10:15:00 2011 Luis Lavena <luislavena@gmail.com>
* ext/zlib/zlib.c (rb_gzreader_initialize): use binary mode by default

Просмотреть файл

@ -1111,11 +1111,13 @@ rb_class_public_instance_methods(int argc, VALUE *argv, VALUE mod)
/*
* call-seq:
* obj.methods -> array
* obj.methods(all=true) -> array
*
* Returns a list of the names of public and protected methods of
* <i>obj</i>. This will include all the methods accessible in
* <i>obj</i>'s ancestors.
* If the <i>all</i> parameter is set to <code>false</code>, only those methods
* in the receiver will be listed.
*
* class Klass
* def klass_method()

Просмотреть файл

@ -92,8 +92,8 @@ class Delegator < BasicObject
# Returns the methods available to this delegate object as the union
# of this object's and \_\_getobj\_\_ methods.
#
def methods
__getobj__.methods | super
def methods(all=true)
__getobj__.methods(all) | super
end
#

Просмотреть файл

@ -111,6 +111,13 @@ class TestDelegateClass < Test::Unit::TestCase
assert_raise(NoMethodError, '[ruby-dev:40314]#3') {m.call}
end
def test_methods
s = SimpleDelegator.new("foo")
assert_equal([], s.methods(false))
def s.bar; end
assert_equal([:bar], s.methods(false))
end
class Foo
private
def delegate_test_private