class Bogus::CopiesClasses

Public Instance Methods

copy(klass) click to toggle source
# File lib/bogus/fakes/copies_classes.rb, line 7
def copy(klass)
  copy_class = Class.new(Bogus::Fake) do
    define_singleton_method(:__copied_class__) do
      klass
    end

    define_singleton_method(:name) do
      klass.name
    end

    define_singleton_method(:to_s) do
      klass.name
    end

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

  copies_methods.copy(klass, copy_class)
  copy_class
end