>>>>> "M" == Mark Ng <markn / cs.mu.OZ.AU> writes:

M> Is there a document somewhere describing keywords or modifiers
M> like module_function and attr_name .. etc  somewhere ? 

 These are not keywords, but private methods from Module. There are
described in ruby-man-1.4/Module.html

    http://www.ruby-lang.org/en/man-1.4/Module.html

M> why do I have to declare a method as a module_function before 
M> it is accesible by outside modules ?

 When you call #module_function this make the method a private method, and
 create a public method in the singleton class, in such a way that you can
 call it, for example, Math.sqrt(2)

 
M> Is that way I can make all my module methods module_functions 
M> automatically ? (I am after a quick and dirty jobbie for now. ;-)

 begin your module with 'module_function' i.e.

pigeon% cat b.rb
#!/usr/bin/ruby
module A
   module_function

   def aa
      puts "aa"
   end

   def bb
      puts "bb"
   end
end

A.aa
A.bb
pigeon% 

pigeon% b.rb
aa
bb
pigeon% 


Guy Decoux