# File lib/abstract_method.rb, line 32
  def abstract_method(*names)
    definitor = self

    names.each do |name|
      define_method name do |*args|
        raise AbstractMethodCalled,
              "Called unimplemented abstract method #{self.class}##{name} " +
              "(defined in #{definitor.class.name.downcase} #{definitor})."
      end
    end
  end