[rspec-users] specs on private methods
Rick DeNatale
rick.denatale at gmail.com
Wed Jan 9 12:01:54 EST 2008
On Jan 8, 2008 3:56 PM, Francois Wurmus <francois.wurmus at infopark.de> wrote:
> Chris Olsen schrieb:
> > Will obj.send(:method) work in 1.9 or is it saying that the send call
> > requires 2 params, the method and the object reference?
> >
> obj.send(:method) will work for non-private methods and send! works for
> private methods.
I'm pretty sure that Matz backed this difference out between 1.8 and
1.9, he took out some of these things before the Christmas release of
1.9.0
Object#send will work for private methods as it always did, and
Object#send! is no longer there.
> additionally there is send() without a receiving object. that is the
> only of those methods requiring two parameters.
There's no such thing as a method call without a receiving object in Ruby
send(:foo)
is the same as
self.send(:foo)
Object#send takes an arbitrary number of arguments, the first argument
is the method selector, the rest are used as arguments to the method
being called.
--
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/
More information about the rspec-users
mailing list