Sha256: a6056719f8520a9640c35b2452d800e694536df52129a60a2b80ea3288e427bf

Contents?: true

Size: 533 Bytes

Versions: 28

Compression:

Stored size: 533 Bytes

Contents

# Groups methods and additions that were used but are not readily available in
# all supported Rails versions.
class Hash
  unless {}.respond_to?(:deep_merge)
    # Imported from Rails 2.2
    def deep_merge(other_hash)
      self.merge(other_hash) do |key, oldval, newval|
        oldval = oldval.to_hash if oldval.respond_to?(:to_hash)
        newval = newval.to_hash if newval.respond_to?(:to_hash)
        oldval.class.to_s == 'Hash' && newval.class.to_s == 'Hash' ? oldval.deep_merge(newval) : newval
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 10 rubygems

Version Path
timcharper-declarative_authorization-0.4.1.2 lib/declarative_authorization/rails_legacy.rb
declarative_authorization-0.4.1 lib/declarative_authorization/rails_legacy.rb
declarative_authorization-0.4 lib/declarative_authorization/rails_legacy.rb
ghart-declarative_authorization-0.3.2.4 lib/declarative_authorization/rails_legacy.rb
mconnell-declarative_authorization-0.3.2.3 lib/declarative_authorization/rails_legacy.rb
viva-declarative_authorization-0.3.2.3.1 lib/declarative_authorization/rails_legacy.rb
viva-declarative_authorization-0.3.2.2.1 lib/declarative_authorization/rails_legacy.rb
declarative_authorization-0.3.2.3 lib/declarative_authorization/rails_legacy.rb