class Bogus::CopiesMethods

Public Instance Methods

copy(from, into) click to toggle source
# File lib/bogus/fakes/copies_methods.rb, line 9
def copy(from, into)
  method_copiers.each do |copier|
    copy_methods(from, into, copier)
  end
  copies_constructor.copy(from, into)
end

Private Instance Methods

copy_methods(original_class, copy_class, make_methods) click to toggle source
# File lib/bogus/fakes/copies_methods.rb, line 18
def copy_methods(original_class, copy_class, make_methods)
  original_methods = make_methods.call(original_class)
  copy_methods = make_methods.call(copy_class)

  original_methods.all.each do |name|
    method = original_methods.get(name)
    body = method_as_string(method)
    copy_methods.define(body)
  end
end
method_as_string(method) click to toggle source
# File lib/bogus/fakes/copies_methods.rb, line 29
def method_as_string(method)
  makes_substitute_methods.stringify(method)
end