Module: Revector::Utility::Keys
Constant Summary collapse
- DELIMITER_REGEX =
/\[|\]|\./
Instance Method Summary collapse
- #to_ary(key) ⇒ Object (also: #[])
- #to_dig(key) ⇒ Object
Instance Method Details
#to_ary(key) ⇒ Object Also known as: []
10 11 12 13 14 15 16 |
# File 'lib/revector/utility.rb', line 10 def to_ary(key) return [] if key.empty? return key.flat_map { |k| to_ary(k) } if key.is_a?(::Array) key.to_s.split(DELIMITER_REGEX).reject(&:empty?) end |
#to_dig(key) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/revector/utility.rb', line 19 def to_dig(key) enforce_level = ->(level) do if level.is_a?(Integer) || level.match?(/^\d$/) level.to_i else level.to_sym end end Keys[key].map(&enforce_level) end |