module M1
  class A; def foo; "foo"; end; end
end

module M2
  A = M1::A
  class A; def bar; "bar"; end; end
end

a = M2::A

a.foo #=> "foo"
a.bar #=> "bar"

Is that what you meant?

However, note that:

M2::A == M1::A

"Caleb Tennis" <caleb / aei-tech.com> wrote in message 
news:200512141601.46013.caleb / aei-tech.com...
> Here's a small snippet of code I'm trying to hack on:
>
> module Mod1
>  class A
>    def meth
>      puts "in Mod 1"
>    end
>  end
>
>  class B
>    def initialize
>      A.new.meth
>    end
>  end
> end
>
> module Mod2
>  class A < Mod1::A
>    def meth
>      put "in Mod 2"
>    end
>  end
>
>  class B < Mod1::B
>  end
> end
>
> p Mod1::B.new
> p Mod2::B.new
>
>
>
> caleb@tcdevel ~ $ ruby testit.rb
> in Mod 1
> #<Mod1::B:0xb7c888dc>
> in Mod 1
> #<Mod2::B:0xb7c88508>
>
> What I'm trying to accomplish is having B reference A but in the same 
> module
> its currently in.  I can accomplish this by redefining the initialize 
> method
> again in Mod2::B, such that it looks exactly the same as Mod1::B, but I'm
> hoping to find a trick to avoid having to do that.
>
> Any thoughts?
>
> Caleb
>
>