json_key_transformer_middleware 0.2.1 → 0.2.2

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: 6ec20158a1a8704a754064210b6dfc1bfcb53988
4
- data.tar.gz: 1da43ac4c294b6d22f5e70c0ca9719fd08f103d1
3
+ metadata.gz: 6f956b529cd67c92c276fe70a2cc7dd52abe762d
4
+ data.tar.gz: 02dad341e504dab059a7a5bfd7646cc3360a9a7b
5
5
  SHA512:
6
- metadata.gz: 1855a3119304fb383065c1cd205cce6725842f6bc8bb351a6dd6e888dfa48d1a4c5a38ab14091c1cfe431da65375c1e6eea3b2c20fcf39d136adc9d5f71ec71f
7
- data.tar.gz: e3e0963abe099f7ffd97f6906e44eca1a2e42748022dac7e378cc32cd7da1b3f44b8bc0161f468fd9350e0f2dafc76943d2c57f52fc54a2f0ee04f0ab7f3cff4
6
+ metadata.gz: 4557b26b081a1eeaafce98296ee4ee258c2047dc0cca67c0dfdf93cd5300a0dfd50e0cf670733ff6a6ed74761a8e76becdc6c77bba369912d761efe367d5573d
7
+ data.tar.gz: '028906f26c05686f19c16c58ce48317abdc8509a7ad4d44e5926076139ea167b99d41706969cf8a286c049f98ac3d9bd5f80ae165fb546596aa0cecbb4bcb532'
@@ -1,4 +1,5 @@
1
1
  require_relative 'json_key_transformer_middleware/middleware'
2
+ require_relative 'json_key_transformer_middleware/incoming_params_formatter'
2
3
  require_relative 'json_key_transformer_middleware/incoming_json_formatter'
3
4
  require_relative 'json_key_transformer_middleware/outgoing_json_formatter'
4
5
  require_relative 'json_key_transformer_middleware/railtie'
@@ -0,0 +1,21 @@
1
+ require 'oj'
2
+
3
+ module JsonKeyTransformerMiddleware
4
+
5
+ class IncomingParamsFormatter < Middleware
6
+
7
+ def initialize(app)
8
+ @app = app
9
+ end
10
+
11
+ def call(env)
12
+ parsed_params = Rack::Utils.parse_nested_query(env['QUERY_STRING'])
13
+ transformed_params = deep_transform_hash_keys(parsed_params, :camel_to_underscore)
14
+ env['QUERY_STRING'] = Rack::Utils.build_nested_query(transformed_params)
15
+
16
+ @app.call(env)
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -4,6 +4,7 @@ module JsonKeyTransformerMiddleware
4
4
 
5
5
  class Railtie < Rails::Railtie
6
6
 
7
+ config.app_middleware.insert_after Rails::Rack::Logger, JsonKeyTransformerMiddleware::IncomingParamsFormatter
7
8
  config.app_middleware.insert_after Rails::Rack::Logger, JsonKeyTransformerMiddleware::IncomingJsonFormatter
8
9
  config.app_middleware.use JsonKeyTransformerMiddleware::OutgoingJsonFormatter
9
10
 
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.2.1
4
+ version: 0.2.2
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-09-30 00:00:00.000000000 Z
11
+ date: 2017-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -62,6 +62,7 @@ files:
62
62
  - LICENSE
63
63
  - lib/json_key_transformer_middleware.rb
64
64
  - lib/json_key_transformer_middleware/incoming_json_formatter.rb
65
+ - lib/json_key_transformer_middleware/incoming_params_formatter.rb
65
66
  - lib/json_key_transformer_middleware/middleware.rb
66
67
  - lib/json_key_transformer_middleware/outgoing_json_formatter.rb
67
68
  - lib/json_key_transformer_middleware/railtie.rb
@@ -86,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
87
  version: '0'
87
88
  requirements: []
88
89
  rubyforge_project:
89
- rubygems_version: 2.4.5.1
90
+ rubygems_version: 2.6.8
90
91
  signing_key:
91
92
  specification_version: 4
92
93
  summary: Rack middleware which transforms incoming and outgoing JSON keys to support