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