The reason for this error is that Mysql is defined as class not module.

Try to change your example to:

class Mysql
  class Result
       def foo
         print "This is foo\n"
       end
   end
end


Cheers,
Kent.
On Sep 25, 2004, at 9:09 PM, eagle eyes joe wrote:

> Greetings,
>
> I still can't get this syntax to work.  Here is a smaller program
> that I am trying to get to run.  Thank you for all your help.
>
>
> This is the error message I get:
>
>
>
> [Abba:/tmp] josephal% ./test
> ../test:5: Mysql is not a module (TypeError)
>
>
>
>
>
> [Abba:/tmp] josephal% cat ./test
> #!/usr/bin/ruby
>
> require 'mysql'
>
> module Mysql
>   class Result
>       def foo
>         print "This is foo\n"
>       end
>   end
> end
>
> m = Mysql.new("localhost", "root", "", "Development")
>
> r = m.query("select * from processedfiles limit 5")
>
> r.foo
>
>
> [Abba:/tmp] josephal%
>
>
>
>
>
>
>    From:      dblack / wobblini.net
>    Subject:    Re: mixin with A::B syntax
>    Date:    September 23, 2004 7:40:38 PM CDT
>    To:     undisclosed-recipients: ;
>
> Hi --
>
> On Fri, 24 Sep 2004, Brian Schroeder wrote:
>
> On Thu, 23 Sep 2004 19:52:01 +0000, eagle eyes joe wrote:
>
> Greetings,
>
> I want to define a generic print method to use in debugging.  I got the
> mix in syntax okay for classes like Hash or String, but for
> Mysql::Result,
> it doesn't seem to work.  What would the proper syntax be?
>
>
> Joe Alotta
>
>
> #!/usr/bin/ruby
>
> require 'mysql'
>
> class Mysql::Result
> def print
>     self.each_hash do |i|
>         i.each do |k, v|  { print "#{k} = #{v} "} puts
>
>    end
> end
> end
>
> m = Mysql.new("localhost", "root", "", "Development")
>
> s = m.query("select * from symbols where type = 'MU'")
>
> s.print
>
>
> Joe Alotta
>
> module Mysql
>   class Result
>     def print
>       [...]
>     end
>   end
> end
>
> I believe that should have the same effect as Joe's example.  The only
> difference between going one at a time and doing Mysql::Result is the
> scope of constants.
>
>
> David
>
> -- 
> David A. Black
> dblack / wobblini.net
>