From: MR Damien Date: 2008-10-20T16:56:48+09:00 Subject: Re: define_method inside a module Joel VanderWerf wrote: > MR Damien wrote: >> def add(object) >> end >> end >> end >> end >> undefined method `define_method' for # (NoMethodError) > > Try working in the singleton class: > > class C > def foo > class << self > define_method :bar do puts "BAR"; end > end > end > end > > c = C.new > c.foo > c.bar Hi, seems not to work neither ------------------ def add(object) name = "@" + self.collection_name_for(object) if self.instance_variable_get(name) self.instance_variable_get(name) << object else self.instance_variable_set(name, Array.new) self.instance_variable_get(name) << object class << self define_method(name) do instance_variable_get("@#{name}") end end end end ------------------ in `define_method': interning empty string (ArgumentError) -- Posted via http://www.ruby-forum.com/.