Create a gist now

Instantly share code, notes, and snippets.

Simple delegator + open = boom
require 'delegate'
class MyOpen
def open
puts 'my open'
end
end
my_open = MyOpen.new
wrapped = SimpleDelegator.new my_open
wrapped.open #works
wrapped.send :open # boom on 2.0-p353.. works on 2.1 though
# tobi@speedy:~/Dropbox/Rubyhacking$ ruby open.rb
# my open
# open.rb:13:in `initialize': wrong number of arguments (0 for 1..3) (ArgumentError)
# from open.rb:13:in `open'
# from open.rb:13:in `<main>'
@rentalcustard

http://ruby-doc.org/core-2.0/Kernel.html#method-i-open

I've never had good experiences shadowing methods from Kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment