Sha256: 90f78c9b19ffbe5346bda9336a92c356945a0ecf50fd3fe9074c2a0eb626cfbc
Contents?: true
Size: 700 Bytes
Versions: 3
Compression:
Stored size: 700 Bytes
Contents
# -*- coding: utf-8 -*- require 'active_support' # activesupport-3.1.0以上では # active_support/core_ext/hash/deep_dupでHash#deep_dupを定義していますが、 # 対象がHashだけなのでArrayをコピーできません。 # Arrayや他のオブジェクトに対応するためにメソッドを上書きします。 if ActiveSupport::VERSION::STRING >= "3.1.0" require 'active_support/core_ext/hash/deep_dup' end class Hash # Returns a deep copy of hash. def deep_dup duplicate = self.dup duplicate.each_pair do |k,v| tv = duplicate[k] duplicate[k] = tv.respond_to?(:deep_dup) && v.respond_to?(:deep_dup) ? tv.deep_dup : v end duplicate end end
Version data entries
3 entries across 3 versions & 1 rubygems