json_key_transformer_middleware 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77715b1456ce9b3198f5532abdf6d48841756382
4
- data.tar.gz: 0a5490b1e2a8acbc377f13b6f193d942859ee472
3
+ metadata.gz: 555b8f0ecd39d542a98a119994892a46fb985ff6
4
+ data.tar.gz: 3b6f70bc7f61ee6578340ff7899a8febd04cddd8
5
5
  SHA512:
6
- metadata.gz: 7f32752b22f280e93d4bef5269943c6ce524fbae82120e8c86d4c25ac098b2231bf2d486cd8ac2fc866bdf87fe445496cdfc8e0d4229d8f3d8fa4db6fdbaed35
7
- data.tar.gz: 70ce636d6f001a75c80c681db263dff9c4bcbb5a242e6ced66d4ead38b2565aff904d2889f96e6566ef18ee4700499e2ef30d4b4b035dffd81970a1c31e91c55
6
+ metadata.gz: 484b63d03184a155ff47699c2a2d502eee125f0c1a712abc7707b36a92ed7173d3a71b98561c2e52b2b7b0350623755786d7f88b56f3b4b5200412637cef05df
7
+ data.tar.gz: 63ec6181d2faa3479e204ef09c8dfb892d5c0be9369c65f34abac8f1686727cf2525f2207872b2fec8677eda168cad0655f12e78f2887a21016f40c623703c54
@@ -11,17 +11,29 @@ module JsonKeyTransformerMiddleware
11
11
  def call(env)
12
12
  status, headers, body = @app.call(env)
13
13
 
14
- new_body = body.each.map do |body_part|
15
- begin
16
- Oj.dump(
17
- deep_transform_hash_keys(
18
- Oj.load(body_part), :underscore_to_camel))
19
- rescue
20
- body_part
14
+ new_body = self.class.build_new_body(body)
15
+
16
+ [status, headers, new_body]
17
+ end
18
+
19
+ private
20
+
21
+ def self.build_new_body(body)
22
+ Enumerator.new do |yielder|
23
+ body.each do |body_part|
24
+ yielder << transform_outgoing_body_part(body_part)
21
25
  end
22
26
  end
27
+ end
23
28
 
24
- [status, headers, new_body]
29
+ def self.transform_outgoing_body_part(body_part)
30
+ begin
31
+ Oj.dump(
32
+ deep_transform_hash_keys(
33
+ Oj.load(body_part), :underscore_to_camel))
34
+ rescue
35
+ body_part
36
+ end
25
37
  end
26
38
 
27
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_key_transformer_middleware
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rood
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-17 00:00:00.000000000 Z
11
+ date: 2016-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj