Skip to content

Instantly share code, notes, and snippets.

@andycamp
Created November 9, 2013 11:26
Show Gist options
  • Select an option

  • Save andycamp/7384487 to your computer and use it in GitHub Desktop.

Select an option

Save andycamp/7384487 to your computer and use it in GitHub Desktop.
Swap Class method
class Franklin
def self.speak
puts "Hello"
end
end
orig_speak_proc = Franklin.method(:speak)
Franklin.speak # => "Hello"
Franklin.define_singleton_method(:speak) { puts "Hi, I'm new" }
Franklin.speak # => "Hi, I'm new"
Franklin.define_singleton_method(:speak, orig_speak_proc)
Franklin.speak # => "Hello"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment