0.0
No commit activity in last 3 years
No release in over 3 years
Provides additional select-type methods for Ruby Hashes
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 3.0
~> 0.8
 Project Readme

hash-selectors

A small set of select methods for Ruby Hashes

select_by... (or filter_by...)

{a: 1, b: 2, c: 3}.filter_by_keys :a, :b # returns {a: 1, b: 2} {a: 1, b: 2, c: 3}.select_by_keys :a, :b # returns {a: 1, b: 2}

{a: 1, b: 2, c: 3}.filter_by_values 1, 3 # returns {a: 1, c: 3} {a: 1, b: 2, c: 3}.select_by_values 1, 3 # returns {a: 1, c: 3}

reject_by...

{a: 1, b: 2, c: 3}.reject_by_keys :c # returns {a: 1, b: 2}

{a: 1, b: 2, c: 3}.reject_by_values 2 # returns {a: 1, c: 3}

partition_by...

{a: 1, b: 2, c: 3}.partition_by_keys :a, :b # returns [{a: 1, b: 2}, {c: 3}]

{a: 1, b: 2, c: 3}.partition_by_values 1, 3 # returns [{a: 1, c: 3}, {b: 2}]

values_for_keys

{a: 1, b: 2, c: nil}.values_for_keys :a, :c # returns [1, nil]

unfiltered_values_for_keys

{a: 1, b: 2, c: nil}.unfiltered_values_for_keys :a, :c, :d # returns [1, nil, nil]