Sha256: a749c82a2dc56f90aa83eb9e655992ef500487bfdc7f66d0b65f7c8d4dad97b7

Contents?: true

Size: 442 Bytes

Versions: 5

Compression:

Stored size: 442 Bytes

Contents

module RR
  class DoubleMethodProxy
    def initialize(creator, object, &block) #:nodoc:
      @creator = creator
      @object = object
      class << self
        instance_methods.each do |m|
          undef_method m unless m =~ /^__/
        end

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rr-0.4.8 lib/rr/double_method_proxy.rb
rr-0.4.7 lib/rr/double_method_proxy.rb
rr-0.4.5 lib/rr/double_method_proxy.rb
rr-0.4.4 lib/rr/double_method_proxy.rb
rr-0.4.6 lib/rr/double_method_proxy.rb