Class: HashKeyTransformer
- Inherits:
-
Object
- Object
- HashKeyTransformer
- Defined in:
- lib/hash_key_transformer.rb,
lib/hash_key_transformer/version.rb
Constant Summary collapse
- VERSION =
'0.1.2'
Class Method Summary collapse
-
.camel_to_underscore(key) ⇒ Object
‘keyName’ -> ‘key_name’.
-
.dash_to_underscore(key) ⇒ Object
‘key-name’ -> ‘key_name’.
- .transform_camel_to_underscore(subject) ⇒ Object
- .transform_dash_to_underscore(subject) ⇒ Object
- .transform_underscore_to_camel(subject) ⇒ Object
- .transform_underscore_to_dash(subject) ⇒ Object
-
.underscore_to_camel(key) ⇒ Object
‘key_name’ -> ‘keyName’.
-
.underscore_to_dash(key) ⇒ Object
‘key_name’ -> ‘key-name’.
Class Method Details
.camel_to_underscore(key) ⇒ Object
‘keyName’ -> ‘key_name’
23 24 25 |
# File 'lib/hash_key_transformer.rb', line 23 def camel_to_underscore(key) key.to_s.gsub(/([A-Z])/) { "_#{$1}" }.downcase end |
.dash_to_underscore(key) ⇒ Object
‘key-name’ -> ‘key_name’
33 34 35 |
# File 'lib/hash_key_transformer.rb', line 33 def dash_to_underscore(key) key.to_s.downcase.gsub(/-([a-z0-9])/) { "_#{$1}" } end |
.transform_camel_to_underscore(subject) ⇒ Object
6 7 8 |
# File 'lib/hash_key_transformer.rb', line 6 def transform_camel_to_underscore(subject) deep_transform_hash_keys(subject, :camel_to_underscore) end |
.transform_dash_to_underscore(subject) ⇒ Object
14 15 16 |
# File 'lib/hash_key_transformer.rb', line 14 def transform_dash_to_underscore(subject) deep_transform_hash_keys(subject, :dash_to_underscore) end |
.transform_underscore_to_camel(subject) ⇒ Object
10 11 12 |
# File 'lib/hash_key_transformer.rb', line 10 def transform_underscore_to_camel(subject) deep_transform_hash_keys(subject, :underscore_to_camel) end |
.transform_underscore_to_dash(subject) ⇒ Object
18 19 20 |
# File 'lib/hash_key_transformer.rb', line 18 def transform_underscore_to_dash(subject) deep_transform_hash_keys(subject, :underscore_to_dash) end |
.underscore_to_camel(key) ⇒ Object
‘key_name’ -> ‘keyName’
28 29 30 |
# File 'lib/hash_key_transformer.rb', line 28 def underscore_to_camel(key) key.to_s.gsub(/_([a-z0-9])/) { $1.upcase } end |
.underscore_to_dash(key) ⇒ Object
‘key_name’ -> ‘key-name’
38 39 40 |
# File 'lib/hash_key_transformer.rb', line 38 def underscore_to_dash(key) key.to_s.downcase.gsub(/_([a-z0-9])/) { "-#{$1}" } end |