Module: OpenapiRuby::Components::KeyTransformer
- Defined in:
- lib/openapi_ruby/components/key_transformer.rb
Class Method Summary collapse
Class Method Details
.camelize(key) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/openapi_ruby/components/key_transformer.rb', line 26 def camelize(key) key = key.to_s return key if key.start_with?("$") parts = key.split("_") parts[0] + parts[1..].map(&:capitalize).join end |
.camelize_keys(hash) ⇒ Object
8 9 10 |
# File 'lib/openapi_ruby/components/key_transformer.rb', line 8 def camelize_keys(hash) transform_keys(hash) { |key| camelize(key) } end |
.transform_keys(value, &block) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/openapi_ruby/components/key_transformer.rb', line 12 def transform_keys(value, &block) case value when Hash value.each_with_object({}) do |(k, v), result| new_key = block.call(k.to_s) result[new_key] = transform_keys(v, &block) end when Array value.map { |v| transform_keys(v, &block) } else value end end |