Skip to content

Instantly share code, notes, and snippets.

@bartoszkopinski
Last active August 29, 2015 13:57
Show Gist options
  • Save bartoszkopinski/9748827 to your computer and use it in GitHub Desktop.
Save bartoszkopinski/9748827 to your computer and use it in GitHub Desktop.
module Memoizable
module ModuleMethods
def memoize
puts 'memoize'
end
end
def self.included(descendant)
descendant.extend(ModuleMethods)
end
end
Class.class_eval do
def memoize
puts 'include memoizable'
include Memoizable
memoize
end
end
class B
memoize
memoize
end
# =>
# include memoizable
# memoize
# memoize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment