Method: Module#revise

Defined in:
lib/core/facets/module/revise.rb

#revise(&blk) ⇒ Object Also known as: revisal

Return a new module based on another. This includes the original module into the new revised module.

module ReviseExample
  def foo; "foo"; end
end

ReviseExample2 = ReviseExample.revise do
  alias_method :bar, :foo
end

object = Object.new
object.extend ReviseExample2
object.bar  #=> 'foo'

CREDIT: Trans



26
27
28
29
30
31
# File 'lib/core/facets/module/revise.rb', line 26

def revise(&blk)
  base = self
  nm = Module.new{ include base }
  nm.class_eval(&blk)
  nm
end