summaryrefslogtreecommitdiff
path: root/test/ruby/test_module.rb
diff options
context:
space:
mode:
authorDylan Thacker-Smith <Dylan.Smith@shopify.com>2019-07-02 15:06:54 +0100
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-20 02:20:59 +0900
commit7fbd2f7cc247ee66e877ab3c88f0274834c6b6c7 (patch)
tree1d03cfc0cba9aabb542306f7f1f685dfb636f0c1 /test/ruby/test_module.rb
parent17a13663998a98ff75fcc838d1cea95c879fbb88 (diff)
Allow calling a private method with `self.`
This makes it consistent with calling private attribute assignment methods, which currently is allowed (e.g. `self.value =`). Calling a private method in this way can be useful when trying to assign the return value to a local variable with the same name. [Feature #11297] [Feature #16123]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2474
Diffstat (limited to 'test/ruby/test_module.rb')
-rw-r--r--test/ruby/test_module.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index 7bb2261ffb..8689c60dcd 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -2479,7 +2479,8 @@ class TestModule < Test::Unit::TestCase
assert_include(methods, :#{method}, ":#{method} should be private")
assert_raise_with_message(NoMethodError, "private method `#{method}' called for main:Object") {
- self.#{method}
+ recv = self
+ recv.#{method}
}
}
end