Issue #9947 has been reported by Alexey Muranov. ---------------------------------------- Feature #9947: Make `Object#send` and `Object#method` private https://bugs.ruby-lang.org/issues/9947 * Author: Alexey Muranov * Status: Open * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- I propose to make `Object#send` and `Object#method` private. * If someone wants to use public `#send` or `#method` with their class, they can easily opt in : ```ruby class MyClass public :send, :method end ``` * They can also use `BasicObject#__send__`. (There is however a mismatch between `BasicObject#__send__` and `Kernel#__method__`.) * There is hardly any good reason IMO to use public `#send` or `#method` with someone else's classes. * I am trying to never call `#send` or `#method` with an explicit receiver, but since `#send` and `#method` are public anyway, i feel that my code will be *under-appreciated* if someone looks at it. -- https://bugs.ruby-lang.org/