# 1.8.x public send?

**URL:** <https://www.ruby-forum.com/t/1-8-x-public-send/149241>\
**Category:** Ruby\
**Created:** [September 22, 2008, 8:22pm UTC](https://www.ruby-forum.com/t/1-8-x-public-send/149241 "2008-09-22T20:22:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tcsnide](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eb8c5e/32.png) [@tcsnide](https://www.ruby-forum.com/u/tcsnide)\
**Post date:** [September 22, 2008, 8:22pm UTC](https://www.ruby-forum.com/t/1-8-x-public-send/149241/1 "2008-09-22T20:22:47Z")

</div>

Oh crud,

class A  
def initialize  
@b = B.new  
end  
def method\_missing(s, \*a, &b)  
@b. **send** (s,\*a,&b)  
end  
end

class B  
def method\_missing(s,\*a,&b)  
“HERE”  
end  
end

A.new.foo

How to get “HERE”?

---

<div class="post-metadata">

**Author:** ![tcsnide](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eb8c5e/32.png) [@tcsnide](https://www.ruby-forum.com/u/tcsnide)\
**Post date:** [September 22, 2008, 9:46pm UTC](https://www.ruby-forum.com/t/1-8-x-public-send/149241/2 "2008-09-22T21:46:49Z")

</div>

On Mon, Sep 22, 2008 at 1:40 PM, Trans [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 

Works for me.

I just had to `puts A.new.foo`

---

<div class="post-metadata">

**Author:** ![tcsnide](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/eb8c5e/32.png) [@tcsnide](https://www.ruby-forum.com/u/tcsnide)\
**Post date:** [September 22, 2008, 10:20pm UTC](https://www.ruby-forum.com/t/1-8-x-public-send/149241/3 "2008-09-22T22:20:22Z")

</div>

On Sep 22, 3:03 pm, “Michael G.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > end
> 
> Works for me.
> 
> I just had to `puts A.new.foo`

My bad, I mistook my trouble for this issue. But actually the trouble  
only arises when:

class B  
def method\_missing(s,\*a,&b)  
“HERE”  
end  
private  
def foo; ‘foo’; end  
end

Because method\_missing applies to public calls and ignores private  
ones.

T.
