# Naked object macros

**URL:** <https://www.ruby-forum.com/t/naked-object-macros/119314>\
**Category:** Ruby\
**Created:** [November 5, 2007, 11:41pm UTC](https://www.ruby-forum.com/t/naked-object-macros/119314 "2007-11-05T23:41:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![keynan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8dc957/32.png) [@keynan](https://www.ruby-forum.com/u/keynan)\
**Post date:** [November 5, 2007, 11:41pm UTC](https://www.ruby-forum.com/t/naked-object-macros/119314/1 "2007-11-05T23:41:19Z")

</div>

I have

module A  
module B  
module ClassMethods

def a\_method  
end

# end end end

I would like to be able to

class Klass  
include A::B  
a\_method  
end

==============================================================

the interpreter is complaining that a\_method does not exist for  
Klass:Class

any ideas?

---

<div class="post-metadata">

**Author:** ![keynan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8dc957/32.png) [@keynan](https://www.ruby-forum.com/u/keynan)\
**Post date:** [November 5, 2007, 11:59pm UTC](https://www.ruby-forum.com/t/naked-object-macros/119314/2 "2007-11-05T23:59:30Z")

</div>

On 11/5/07, Keynan P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> # end
> 
> the interpreter is complaining that a\_method does not exist for  
> Klass:Class
> 
> ## any ideas?
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

Try this

module A  
module B  
module ClassMethods  
def a\_method  
end  
end  
def self.included(base)  
base.extend(ClassMethods)  
end  
end  
end

class Klass  
include A::B  
a\_method  
end

Michael G.

---

<div class="post-metadata">

**Author:** ![keynan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8dc957/32.png) [@keynan](https://www.ruby-forum.com/u/keynan)\
**Post date:** [November 6, 2007, 1:09am UTC](https://www.ruby-forum.com/t/naked-object-macros/119314/3 "2007-11-06T01:09:03Z")

</div>

On Nov 5, 5:41 pm, Keynan P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> end
> 
> the interpreter is complaining that a\_method does not exist for  
> Klass:Class
> 
> any ideas?

$ gem install facets

require ‘facets/class\_extension’

module A

```
module B

  class_extension do

    def a_method
    end

  end
end

```

end

T.
