[#25936] [Bug:1.9] [rubygems] $LOAD_PATH includes bin directory — Nobuyoshi Nakada <nobu@...>

Hi,

10 messages 2009/10/05

[#25943] Disabling tainting — Tony Arcieri <tony@...>

Would it make sense to have a flag passed to the interpreter on startup that

16 messages 2009/10/05

[#26028] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error — Marc-Andre Lafortune <redmine@...>

Bug #2189: Math.atanh(1) & Math.atanh(-1) should not raise an error

14 messages 2009/10/10

[#26222] [Bug #2250] IO::for_fd() objects' finalization dangerously closes underlying fds — Mike Pomraning <redmine@...>

Bug #2250: IO::for_fd() objects' finalization dangerously closes underlying fds

11 messages 2009/10/22

[#26244] [Bug #2258] Kernel#require inside rb_require() inside rb_protect() inside SysV context fails — Suraj Kurapati <redmine@...>

Bug #2258: Kernel#require inside rb_require() inside rb_protect() inside SysV context fails

24 messages 2009/10/22

[#26361] [Feature #2294] [PATCH] ruby_bind_stack() to embed Ruby in coroutine — Suraj Kurapati <redmine@...>

Feature #2294: [PATCH] ruby_bind_stack() to embed Ruby in coroutine

42 messages 2009/10/27

[#26371] [Bug #2295] segmentation faults — tomer doron <redmine@...>

Bug #2295: segmentation faults

16 messages 2009/10/27

[ruby-core:25915] [Feature #2170] Visibility Predicates for Method Objects

From: Run Paint Run Run <redmine@...>
Date: 2009-10-03 05:43:08 UTC
List: ruby-core #25915
Issue #2170 has been updated by Run Paint Run Run.


> I'm trying to see how that could be useful, to understand your goal.

A method's visibility is one of its attributes. The Method class objectifies methods, so it is expected that it provides access to the wrapped method's attributes. This abstraction is broken when you must retrieve the Method's name, then pass it to another class to determine such an attribute. 

If you're using Method objects to obtain the source code of a method it is probable that you're producing documentation or performing static analysis, both of which would likely at least benefit from visibility metadata. If you're using Method objects to copy methods to other classes or objects, such as with define_method, it is probable that you want to reinstate the method with its original visibility. Indeed, most examples of using Method objects that come to mind would be bolstered by this data.

> Moreover I see problems with defining it. The original method could have changed of 
> accessibility or no longer exist. method#private? returns the accessibility at the moment 
> the Method was created, which seems even less useful. 

It could have changed its arity or source, too, depending on how you're defining "original method". A Method object represents the method at the point it was objectified.

> Similarly, results with aliases can be counterintuive.

It would be surprising if a "na誰ve", proof-of-concept patch on a codebase with which I'm unfamiliar was perfect. I don't see how aliases are a conceptual problem.

Anyway, it was but a suggestion; if it lacks general utility then by all means close the ticket.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/2170

----------------------------------------
http://redmine.ruby-lang.org

In This Thread