Add link to Ruby docs and apply markdown formatting

This commit is contained in:
jbranchaud
2026-07-21 11:47:31 -05:00
parent 8060163d70
commit 4d0969ccad
+7 -5
View File
@@ -4,7 +4,9 @@ I recently ran into some code that was building up a hash keyed by _category_.
It was a series of chained method calls building and transforming to produce the It was a series of chained method calls building and transforming to produce the
hash. It then ended with `.slice(*CATEGORIES)`. hash. It then ended with `.slice(*CATEGORIES)`.
That `#slice` call at the end was doing two things: That
[`Hash#slice`](https://docs.ruby-lang.org/en/master/Hash.html#method-i-slice)
call at the end was doing two things:
1. It was removing any key-value pairs not in `CATEGORIES` 1. It was removing any key-value pairs not in `CATEGORIES`
2. It was reordering the hash keys based on the order they appeared in `CATEGORIES` 2. It was reordering the hash keys based on the order they appeared in `CATEGORIES`
@@ -23,12 +25,12 @@ Let's look at a minimum example of this:
``` ```
- I first define `CATEGORIES` which is an (ordered) array of symbols that - I first define `CATEGORIES` which is an (ordered) array of symbols that
represent the categories I care about. represent the categories I care about.
- Then I manufacture a hash of items by category. This is a bunch of dummy data, - Then I manufacture a hash of items by category. This is a bunch of dummy data,
including extra categories, meant to demonstrate what `#slice` can do. including extra categories, meant to demonstrate what `#slice` can do.
- Lastly I call `.slice(*CATEGORIES)` on this hash which both pairs it down to - Lastly I call `.slice(*CATEGORIES)` on this hash which both pairs it down to
that set of categories and reorders the hash so that the keys appears in the that set of categories and reorders the hash so that the keys appears in the
same order they do in the `CATEGORIES` array. same order they do in the `CATEGORIES` array.
This might be useful if I've defined `CATEGORIES` to be in a specific display This might be useful if I've defined `CATEGORIES` to be in a specific display
order and I'm preparing this hash for consumption in some UI layer. order and I'm preparing this hash for consumption in some UI layer.