diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2018-12-20 23:02:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-20 23:02:39 +0100 |
commit | 788bc21ef38696bbcf732a7406de42c42eb05199 (patch) | |
tree | bedadebd93ede45b6f54f8d10915b3d09c678b72 /guides/source | |
parent | d5699198a45a91250e1adb3ed899b0b46b4ac879 (diff) | |
parent | 25b969a4469d7baefc1b339656008dabd79c975c (diff) | |
download | rails-788bc21ef38696bbcf732a7406de42c42eb05199.tar.gz rails-788bc21ef38696bbcf732a7406de42c42eb05199.tar.bz2 rails-788bc21ef38696bbcf732a7406de42c42eb05199.zip |
Merge pull request #34762 from bogdanvlviv/fix-a-few-deprecation-warnings
Follow up #34754
Diffstat (limited to 'guides/source')
-rw-r--r-- | guides/source/active_support_core_extensions.md | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/guides/source/active_support_core_extensions.md b/guides/source/active_support_core_extensions.md index 428271d9b7..3db46bc42e 100644 --- a/guides/source/active_support_core_extensions.md +++ b/guides/source/active_support_core_extensions.md @@ -2729,26 +2729,7 @@ NOTE: Defined in `active_support/core_ext/hash/keys.rb`. ### Slicing -Ruby has built-in support for taking slices out of strings and arrays. Active Support extends slicing to hashes: - -```ruby -{a: 1, b: 2, c: 3}.slice(:a, :c) -# => {:a=>1, :c=>3} - -{a: 1, b: 2, c: 3}.slice(:b, :X) -# => {:b=>2} # non-existing keys are ignored -``` - -If the receiver responds to `convert_key` keys are normalized: - -```ruby -{a: 1, b: 2}.with_indifferent_access.slice("a") -# => {:a=>1} -``` - -NOTE. Slicing may come in handy for sanitizing option hashes with a white list of keys. - -There's also `slice!` which in addition to perform a slice in place returns what's removed: +The method `slice!` replaces the hash with only the given keys and returns a hash containing the removed key/value pairs. ```ruby hash = {a: 1, b: 2} |