ezformat 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ezformat.rb +28 -0
  3. metadata +43 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: '091314600d36c877a03978df40de0ed3b81095cb773dd070eaefab6509631ae5'
4
+ data.tar.gz: eb183d574a6787eb646fb59cbc34ec973a814ff1968dd4b8eac25fcf5561081f
5
+ SHA512:
6
+ metadata.gz: '0812d20f9e8a9af24a5ea5bd626069d4dea65afcdb30a133bd5ad1bbe17bdca6875e1b45a151b2dc7a7985ac3ac86e8c22590041612354c79a1a17cf5ad48333'
7
+ data.tar.gz: 0d323297c8d0204a04dd07011ea561259312be551c1603a39c0537ee798bd8a06f0495036c31ac8e99d7e66cc0fc7cf82d79b587b90abcab83ccc0827a749231
@@ -0,0 +1,28 @@
1
+ module EZFormat
2
+ class Hash
3
+ class << self
4
+ def to_snake_case(hash)
5
+ hash.map do |key, value|
6
+ snake_cased_key = snake_case_key(key)
7
+
8
+ [snake_cased_key, value]
9
+ end.to_h
10
+ end
11
+
12
+ private
13
+
14
+ def snake_case_key(key)
15
+ snake_cased_key = ''
16
+
17
+ key.to_s.split('') do |letter|
18
+ snake_cased_key += '_' if letter != letter.downcase
19
+ snake_cased_key += letter.downcase
20
+ end
21
+
22
+ return snake_cased_key.to_sym if key.is_a?(Symbol)
23
+
24
+ snake_cased_key
25
+ end
26
+ end
27
+ end
28
+ end
metadata ADDED
@@ -0,0 +1,43 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ezformat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Vasili Cekaskin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-03-18 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A simple module to transform your nested hashes
14
+ email: vasili.cekaskin@ivx.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/ezformat.rb
20
+ homepage: https://rubygems.org/gems/ezformat
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubygems_version: 3.1.2
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: Simply transform your nested hash keys
43
+ test_files: []