Sha256: 32aa123d3d9bb0a9e0374689e5a58ebd38cfaedb60bca90e9b21397069b57301

Contents?: true

Size: 745 Bytes

Versions: 16

Compression:

Stored size: 745 Bytes

Contents

require 'facets/core/module/rename'
require 'facets/core/module/redef'
require 'facets/core/module/remove'
require 'facets/core/module/nodef'
require 'facets/core/module/wrap'

class Module

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

end



#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#

=begin testing

  require 'test/unit'

  class TCModule < Test::Unit::TestCase
    module M
      def x ; 1 ; end
    end
    class C
      include M.revisal {
        rename :y, :x
      }
    end

    def test_001
      c = C.new
      assert_raises( NoMethodError ) { c.x }
      assert_equal( 1, c.y )
    end
  end

=end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
facets-1.4.0 lib/facets/core/module/revisal.rb
facets-1.4.1 lib/facets/core/module/revisal.rb
facets-1.4.2 lib/facets/core/module/revisal.rb
facets-1.4.3 lib/facets/core/module/revisal.rb
facets-1.4.5 lib/facets/core/module/revisal.rb
facets-1.4.4 lib/facets/core/module/revisal.rb
facets-1.7.38 lib/facets/core/module/revisal.rb
facets-1.7.0 lib/facets/core/module/revisal.rb
facets-1.7.30 lib/facets/core/module/revisal.rb
facets-1.7.46 lib/facets/core/module/revisal.rb
facets-1.8.20 lib/facets/core/module/revisal.rb
facets-1.8.0 lib/facets/core/module/revisal.rb
facets-1.8.49 lib/facets/core/module/revisal.rb
facets-1.8.51 lib/facets/core/module/revisal.rb
facets-1.8.54 lib/facets/core/module/revisal.rb
facets-1.8.8 lib/facets/core/module/revisal.rb