Module: RbPath::Utils
- Included in:
- Query
- Defined in:
- lib/rbpath/utils.rb
Instance Method Summary collapse
- #deep_stringify_all(obj) ⇒ Object
- #deep_symbolize_all(obj) ⇒ Object
- #deep_transform_all(obj, &block) ⇒ Object
Instance Method Details
#deep_stringify_all(obj) ⇒ Object
13 14 15 |
# File 'lib/rbpath/utils.rb', line 13 def deep_stringify_all(obj) deep_transform_all(obj) { |obj| obj.is_a?(Symbol) ? obj.to_s : obj } end |
#deep_symbolize_all(obj) ⇒ Object
17 18 19 |
# File 'lib/rbpath/utils.rb', line 17 def deep_symbolize_all(obj) deep_transform_all(obj) { |obj| obj.is_a?(String) ? obj.to_sym : obj } end |
#deep_transform_all(obj, &block) ⇒ Object
2 3 4 5 6 7 8 9 10 11 |
# File 'lib/rbpath/utils.rb', line 2 def deep_transform_all(obj, &block) case obj when Hash Hash[ obj.map { |k,v| [deep_transform_all(k, &block), deep_transform_all(v, &block)] }] when Array obj.map { |i| deep_transform_all(i, &block) } else block[obj] end end |