lib/memoizable.rb in memoizable-0.2.0 vs lib/memoizable.rb in memoizable-0.3.0
- old
+ new
@@ -1,15 +1,18 @@
+# encoding: utf-8
+
require 'thread_safe'
require 'memoizable/instance_methods'
require 'memoizable/method_builder'
require 'memoizable/module_methods'
require 'memoizable/memory'
require 'memoizable/version'
# Allow methods to be memoized
module Memoizable
+ include InstanceMethods
# Default freezer
Freezer = lambda { |object| object.freeze }.freeze
# Hook called when module is included
@@ -19,12 +22,11 @@
#
# @return [self]
#
# @api private
def self.included(descendant)
- descendant.module_eval do
- extend ModuleMethods
- include InstanceMethods
- end
+ super
+ descendant.extend(ModuleMethods)
end
+ private_class_method :included
end # Memoizable