Wes Gamble wrote:
> Sorry, I wasn't clear enough - my question is why does the call to 
> method2 from method1 fail with a
> 
> undefined method `method2' for X:Module
> 

Is the following what you are doing ?

   irb(main):007:0> module X
   irb(main):008:1>   public
   irb(main):009:1>   def method1
   irb(main):010:2>     "method1" + method2
   irb(main):011:2>   end
   irb(main):012:1>   private
   irb(main):013:1>   def method2
   irb(main):014:2>     "method2"
   irb(main):015:2>   end
   irb(main):016:1> end
   => nil
   irb(main):017:0> class A
   irb(main):018:1> include X
   irb(main):019:1> end
   => A
   irb(main):020:0> A.new.method1
   ---------------------^^^^^^^^^^---------------
   irb(main):021:0> A.new.method1
   => "method1method2"

Because the above should work just fine. If the above is not what you
are seeing, please post the code so we can better help.

Zach