diff options
author | Matt Casper <matthewvcasper@gmail.com> | 2017-03-29 09:56:27 -0500 |
---|---|---|
committer | Michael Stock <mikeastock@gmail.com> | 2017-03-29 15:55:09 -0500 |
commit | 0117810cdab34d168b0579a6736c5d58c5ab84c7 (patch) | |
tree | 4021e5a1e5181aa63e189297ac5a97ef135e9580 /activesupport/lib | |
parent | 55ccec637212a2232a64f86360b2a25fa1c25759 (diff) | |
download | rails-0117810cdab34d168b0579a6736c5d58c5ab84c7.tar.gz rails-0117810cdab34d168b0579a6736c5d58c5ab84c7.tar.bz2 rails-0117810cdab34d168b0579a6736c5d58c5ab84c7.zip |
Add aliases for reverse_merge to with_defaults
In the context of controller parameters, reverse_merge is commonly used
to provide defaults for user input. Having an alias to reverse_merge
called with_defaults feels more idiomatic for Rails.
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/core_ext/hash/reverse_merge.rb | 2 | ||||
-rw-r--r-- | activesupport/lib/active_support/hash_with_indifferent_access.rb | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb b/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb index efb9d1b8a0..061c959442 100644 --- a/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +++ b/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb @@ -12,6 +12,7 @@ class Hash def reverse_merge(other_hash) other_hash.merge(self) end + alias_method :with_defaults, :reverse_merge # Destructive +reverse_merge+. def reverse_merge!(other_hash) @@ -19,4 +20,5 @@ class Hash merge!(other_hash) { |key, left, right| left } end alias_method :reverse_update, :reverse_merge! + alias_method :with_defaults!, :reverse_merge! end diff --git a/activesupport/lib/active_support/hash_with_indifferent_access.rb b/activesupport/lib/active_support/hash_with_indifferent_access.rb index 1927cddf34..1e1d6d3aac 100644 --- a/activesupport/lib/active_support/hash_with_indifferent_access.rb +++ b/activesupport/lib/active_support/hash_with_indifferent_access.rb @@ -225,11 +225,13 @@ module ActiveSupport def reverse_merge(other_hash) super(self.class.new(other_hash)) end + alias_method :with_defaults, :reverse_merge # Same semantics as +reverse_merge+ but modifies the receiver in-place. def reverse_merge!(other_hash) replace(reverse_merge(other_hash)) end + alias_method :with_defaults!, :reverse_merge! # Replaces the contents of this hash with other_hash. # |