On 10-10-09 10:50 PM, botp wrote:
On Sun, Oct 10, 2010 at 9:16 AM, Rajinder Yadav<[email protected]>  wrote:
how can I get the following to work, what am I not understanding about how
modules work?

there are many ways, but i usually start as simple as possible,
creating modules by fxn. classes simple as possible

# we have  module that defines method
module MakeMethod
   def make_method( name )
      define_method( name ) do |count|
         puts "you called method #{name.to_s}"
         puts "the count is #{count}"
      end
   end
end

# we have module that modifies a class and creates corr methods
module MethodMaker
   class<<  self
     include MakeMethod
   end

   make_method :hello
   make_method :bye

end


# we create class, as simple as possible
class Person

   def initialize( name )
      @name = name
   end

   def greet
      puts "Hello! I'm #...@name}"
   end

end

# we create person class. it works
j=Person.new "rajin"

# but hello method does not work yet since we've not defined it yet on
person class
# j.hello 1 =>  will err here


# now we modify person
class Person
   include MethodMaker
end

# the new methods now work
j.hello 1
j.bye 1



best regards
-botp


what i would like to do is be able to use make_method from class Person, like:


class Person
  include MethodMaker

  make_method :hello
  make_method :bye

end



--
Kind Regards,
Rajinder Yadav

--
You received this message because you are subscribed to the Google Groups "Ruby on 
Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to