| 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