Upgraded to Rails 2.0.2, except that we maintain vendor/rails/actionpack/lib/action_controller/routing.rb from Rail 1.2.6 (at least for now), so that Routes don't change. We still get to enjoy Rails's many new features. Also fixed a bug in Chunk-handling: disable WikiWord processing in tags (for real this time).
20 lines
604 B
Ruby
20 lines
604 B
Ruby
module ActiveSupport #:nodoc:
|
|
module CoreExtensions #:nodoc:
|
|
module Hash #:nodoc:
|
|
module Diff
|
|
# Returns a hash that represents the difference between two hashes.
|
|
#
|
|
# Examples:
|
|
#
|
|
# {1 => 2}.diff(1 => 2) # => {}
|
|
# {1 => 2}.diff(1 => 3) # => {1 => 2}
|
|
# {}.diff(1 => 2) # => {1 => 2}
|
|
# {1 => 2, 3 => 4}.diff(1 => 2) # => {3 => 4}
|
|
def diff(h2)
|
|
self.dup.delete_if { |k, v| h2[k] == v }.merge(h2.dup.delete_if { |k, v| self.has_key?(k) })
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|