deep_hash_transformer 0.1.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/deep_hash_transformer.rb +2 -6
- data/lib/deep_hash_transformer/version.rb +1 -1
- data/spec/deep_hash_transformer_spec.rb +2 -2
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 17f7965aec4168e642da43b3a20b7e051bee4cf7bbf7c4b56384271a0f8bdf01
|
4
|
+
data.tar.gz: f390e181624819cf546f27c46bb0ec8e1181aea60003729d87a5b5e0e57611be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59ec3c08be71f8f7bbe55012ddd9440072e931f846274db1b853fb29a8693c4f09070f79565790d515fd118e044cc8c996523a0b6a56edcb896aedd77382883c
|
7
|
+
data.tar.gz: aab2d5198326690055f97d018cf1256e1ad9794850729415c5e5f1d723fa30f818e670488f685c086e7de30a2b72a22cd4906dc248309f79adea2b58df41d383
|
@@ -1,8 +1,6 @@
|
|
1
1
|
require 'deep_hash_transformer/version'
|
2
2
|
|
3
3
|
class DeepHashTransformer
|
4
|
-
attr_reader :hash
|
5
|
-
|
6
4
|
OPS = {
|
7
5
|
dasherize: ->(val) { val.to_s.tr('_'.freeze, '-'.freeze) },
|
8
6
|
identity: ->(val) { val },
|
@@ -19,7 +17,7 @@ class DeepHashTransformer
|
|
19
17
|
transform_value(hash, ops)
|
20
18
|
end
|
21
19
|
|
22
|
-
OPS.
|
20
|
+
OPS.each_key do |operation|
|
23
21
|
define_method(operation) { tr(operation) }
|
24
22
|
end
|
25
23
|
|
@@ -32,9 +30,7 @@ class DeepHashTransformer
|
|
32
30
|
when Array
|
33
31
|
value.map { |e| transform_value(e, ops) }
|
34
32
|
when Hash
|
35
|
-
|
36
|
-
value.map { |k, v| [transform_key(k, ops), transform_value(v, ops)] }
|
37
|
-
]
|
33
|
+
value.map { |k, v| [transform_key(k, ops), transform_value(v, ops)] }.to_h
|
38
34
|
else
|
39
35
|
value
|
40
36
|
end
|
@@ -7,7 +7,7 @@ RSpec.describe DeepHashTransformer do
|
|
7
7
|
}
|
8
8
|
end
|
9
9
|
|
10
|
-
describe '#tr with
|
10
|
+
describe '#tr with `:underscore, :symbolize`' do
|
11
11
|
subject { DeepHashTransformer.new(hash).tr(:underscore, :symbolize) }
|
12
12
|
|
13
13
|
it do
|
@@ -62,7 +62,7 @@ RSpec.describe DeepHashTransformer do
|
|
62
62
|
is_expected.to eq(
|
63
63
|
Integer => 123,
|
64
64
|
:foobar => { bar: 'bar' },
|
65
|
-
:aa_zz => [{ :
|
65
|
+
:aa_zz => [{ bar: :bar, 'a-z': 'a-z' }]
|
66
66
|
)
|
67
67
|
end
|
68
68
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deep_hash_transformer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Spickermann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: coveralls
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -90,7 +90,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
90
90
|
requirements:
|
91
91
|
- - ">="
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
93
|
+
version: 2.2.0
|
94
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - ">="
|
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
98
|
version: '0'
|
99
99
|
requirements: []
|
100
100
|
rubyforge_project:
|
101
|
-
rubygems_version: 2.
|
101
|
+
rubygems_version: 2.7.3
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: Transforms deeply nested hash structure
|