class Sharer def initalizer(stuff_name) @stuff_name = stuff_name end def stuff @stuff_name end end class Thing def initalizer(*args) @sharer = Sharer.new(*args) end def method_missing(meth, *args, &block) @sharer.send(method, *args, &block) end def responds_to_missing(meth) @sharer.responds_to(meth) end end thing = Thing.new('my stuff') puts thing.stuff => 'my stuff'