# File lib/abstract.rb, line 41 def abstract_method args_str, *method_names method_names.each do |name| module_eval "def \#{name}(\#{args_str})\nmesg = \"class \\\#{self.class.name} must implement abstract method `\#{self.name}#\#{name}()'.\"\n#mesg = \"\\\#{self.class.name}#\#{name}() is not implemented.\"\nerr = NotImplementedError.new mesg\nerr.set_backtrace caller()\nraise err\nend\n" end end