[ruby-core:63188] [CommonRuby - Feature #9947] [Open] Make `Object#send` and `Object#method` private

From: alexey.muranov@...
Date: 2014-06-16 14:19:20 UTC
List: ruby-core #63188
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/

In This Thread

Prev Next