Class | Module |
In: |
lib/abstract.rb
|
Parent: | Object |
define abstract methods
# File lib/abstract.rb, line 41 41: def abstract_method args_str, *method_names 42: method_names.each do |name| 43: 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" 44: end 45: end