vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb
# Date memoizes some instance methods using metaprogramming to wrap
# the methods with one that caches the result in an instance variable.
# If a Date is frozen but the memoized method hasn't been called, the
# first call will result in a frozen object error since the memo
# instance variable is uninitialized. Work around by eagerly memoizing
# before freezing.
Date memoizes some instance methods using metaprogramming to wrap
the methods with one that caches the result in an instance variable.
If a Date is frozen but the memoized method hasn't been called, the
first call will result in a frozen object error since the memo
instance variable is uninitialized. Work around by eagerly memoizing
before freezing.
Date memoizes some instance methods using metaprogramming to wrap the methods with one that caches the result in an instance variable . If a Date is frozen but the memoized method hasn ' t been called the first call will result in a frozen object error since the memo instance variable is uninitialized . Work around by eagerly memoizing before freezing .
def freeze 
          self.class.private_instance_methods(false).each do |m|
            if m.to_s =~ /\A__\d+__\Z/
              instance_variable_set(:"@#{m}", [send(m)])
            end
          end
          super
        end
def freeze self . class . private_instance_methods ( false ) . each do | m | if m . to_s =~ / \A __ \d +__ \Z / instance_variable_set ( :" @ #{ m } " , [ send ( m ) ] ) end end super end
Date memoizes some instance methods using metaprogramming to wrap
the methods with one that caches the result in an instance variable.
Date memoizes some instance methods using metaprogramming to wrap the methods with one that caches the result in an instance variable .
#:nodoc: