Module: CiderCI::RspecSupport::Util
- Defined in:
- lib/cider_ci/rspec_support/util.rb
Constant Summary collapse
- IDENDITY =
->(x) { x }
Class Method Summary collapse
- .deep_stringify_keys(object) ⇒ Object
- .deep_symbolize_keys(object) ⇒ Object
- .transform(object, key_transformer = IDENDITY, value_transformer = IDENDITY) ⇒ Object
Class Method Details
.deep_stringify_keys(object) ⇒ Object
27 28 29 |
# File 'lib/cider_ci/rspec_support/util.rb', line 27 def deep_stringify_keys(object) transform(object, ->(x) { x.to_s }) end |
.deep_symbolize_keys(object) ⇒ Object
23 24 25 |
# File 'lib/cider_ci/rspec_support/util.rb', line 23 def deep_symbolize_keys(object) transform(object, ->(x) { x.to_sym }) end |
.transform(object, key_transformer = IDENDITY, value_transformer = IDENDITY) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/cider_ci/rspec_support/util.rb', line 7 def transform(object, key_transformer = IDENDITY, value_transformer = IDENDITY) case object when Hash Hash[object.map do |k, v| [key_transformer.call(k), transform(v, key_transformer, value_transformer)] end] when Array object.map { |v| transform(v, key_transformer, value_transformer) } else value_transformer.call(object) end end |