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 > >