class Module

Public Instance Methods

abstract_method(*names) click to toggle source
# File lib/doc/core_ext.rb, line 38
  def abstract_method(*names)
    names.each do |name|
      class_eval <<-RUBY, __FILE__, __LINE__
        def #{name}(*_)
          raise NotImplementedError.new("\#{self.class.name} has no implementation for method `#{name}`")
        end
      RUBY
    end
  end
smart_autoload(*names) click to toggle source
# File lib/doc/core_ext.rb, line 32
def smart_autoload(*names)
  names.each do |name|
    autoload name, "#{self}::#{name}".underscore
  end
end