Module: Kernel

Defined in:
lib/receive_self.rb

Instance Method Summary collapse

Instance Method Details

#receive_selfObject



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

def receive_self
  self.instance_methods.each do |inst_method|
    self.class_eval do |klass|
      define_method :"#{inst_method}__rself".to_sym do |*arg|
        org_return = self.send inst_method, *arg
        if org_return.instance_of?(klass.superclass)
          return klass.new(org_return)
        else
          org_return
        end
      end
    end
  end
end