Sha256: 60180004e9699012692726fcbcca0f8eba86e8a11014756d1c3936c2d2cb599d

Contents?: true

Size: 421 Bytes

Versions: 1

Compression:

Stored size: 421 Bytes

Contents

module Bogus
  class CopiesClasses
    extend Takes

    takes :copies_methods

    def copy(klass)
      copy_class = Class.new(Bogus::Fake) do
        define_singleton_method(:__copied_class__) do
          klass
        end

        define_singleton_method(:const_missing) do |name|
          klass.const_get(name)
        end
      end

      copies_methods.copy(klass, copy_class)
      copy_class
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bogus-0.1.3 lib/bogus/copies_classes.rb