./ruby/test/chained-method-aliases.1.rb
download original
class C
def meth
puts "m"
end
def wr1(wrapped_action)
puts "wr1 in"
self.send wrapped_action
puts "wr1 out"
end
def wr2(wrapped_action)
puts "wr2 in"
self.send wrapped_action
puts "wr2 out"
end
wrapper = :wr1
action = :meth
wrapped_method = "_meth_doit"
alias_method wrapped_method.intern, :meth
class_eval <<-EOS2
def #{action}
#{wrapper.to_s}(:#{wrapped_method})
end
EOS2
end
C.new.meth
back to test
(C) 1998-2017 Olaf Klischat <olaf.klischat@gmail.com>