Skip to content

Instantly share code, notes, and snippets.

@PragTob
Created February 24, 2014 14:32
Show Gist options
  • Save PragTob/9189371 to your computer and use it in GitHub Desktop.
Save PragTob/9189371 to your computer and use it in GitHub Desktop.
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
Copy link

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