Class: Jets::Pascalize
- Inherits:
-
Object
- Object
- Jets::Pascalize
- Defined in:
- lib/jets/pascalize.rb
Class Method Summary collapse
- .pascal_key(k, parent_key = nil) ⇒ Object
-
.pascalize(value, parent_key = nil) ⇒ Object
Specialized pascalize that will not pascalize keys under the Variables part of the hash structure.
Class Method Details
.pascal_key(k, parent_key = nil) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/jets/pascalize.rb', line 22 def pascal_key(k, parent_key=nil) if parent_key == "Variables" # do not pascalize keys anything under Variables k else k = k.to_s.camelize k.slice(0,1).capitalize + k.slice(1..-1) # capitalize first letter only end end |
.pascalize(value, parent_key = nil) ⇒ Object
Specialized pascalize that will not pascalize keys under the Variables part of the hash structure. Based on: stackoverflow.com/questions/8706930/converting-nested-hash-keys-from-camelcase-to-snake-case-in-ruby
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/jets/pascalize.rb', line 7 def pascalize(value, parent_key=nil) case value when Array value.map { |v| pascalize(v) } when Hash initializer = value.map do |k, v| new_key = pascal_key(k, parent_key) [new_key, pascalize(v, new_key)] end Hash[initializer] else value end end |