Module: Rackr::Utils
- Included in:
- Rackr, Action::Callbacks, Router
- Defined in:
- lib/rackr/utils.rb
Overview
Utils methods for Rackr
Instance Method Summary collapse
- #deep_hash_push(hash, first_key, *rest_keys, val) ⇒ Object
- #deep_hash_set(hash, keys, value) ⇒ Object
- #ensure_array(list) ⇒ Object
Instance Method Details
#deep_hash_push(hash, first_key, *rest_keys, val) ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/rackr/utils.rb', line 6 def deep_hash_push(hash, first_key, *rest_keys, val) if rest_keys.empty? (hash[first_key] ||= []) << val else hash[first_key] = deep_hash_push(hash[first_key] ||= {}, *rest_keys, val) end hash end |
#deep_hash_set(hash, keys, value) ⇒ Object
22 23 24 25 26 |
# File 'lib/rackr/utils.rb', line 22 def deep_hash_set(hash, keys, value) *path, last = keys node = path.inject(hash) { |h, k| h[k] ||= {} } node[last] = value end |
#ensure_array(list) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/rackr/utils.rb', line 15 def ensure_array(list) return [] if list.nil? return list if list.is_a?(Array) [list] end |