Class: RR::DoubleDefinitionCreatorProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/rr/double_definition_creator_proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(creator, object) {|_self| ... } ⇒ DoubleDefinitionCreatorProxy

:nodoc:

Yields:

  • (_self)

Yield Parameters:



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/rr/double_definition_creator_proxy.rb', line 3

def initialize(creator, object, &block) #:nodoc:
  @creator = creator
  @object = object
  class << self
    instance_methods.each do |m|
      unless m =~ /^_/ || m.to_s == 'object_id'
        undef_method m
      end
    end

    def method_missing(method_name, *args, &block)
      @creator.create(@object, method_name, *args, &block)
    end
  end
  yield(self) if block_given?
end