| Module | ActiveSupport::Freezable |
| In: |
vendor/rails/activesupport/lib/active_support/memoizable.rb
|
# File vendor/rails/activesupport/lib/active_support/memoizable.rb, line 8
8: def self.included(base)
9: base.class_eval do
10: unless base.method_defined?(:freeze_without_memoizable)
11: alias_method_chain :freeze, :memoizable
12: end
13: end
14: end
# File vendor/rails/activesupport/lib/active_support/memoizable.rb, line 16
16: def freeze_with_memoizable
17: memoize_all unless frozen?
18: freeze_without_memoizable
19: end
# File vendor/rails/activesupport/lib/active_support/memoizable.rb, line 21
21: def memoize_all
22: methods.each do |m|
23: if m.to_s =~ /^_unmemoized_(.*)/
24: if method(m).arity == 0
25: __send__($1)
26: else
27: ivar = MEMOIZED_IVAR.call($1)
28: instance_variable_set(ivar, {})
29: end
30: end
31: end
32: end