snaky_params 2.2.0 → 3.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.
- checksums.yaml +5 -5
- data/README.md +9 -5
- data/lib/snaky_params/middleware.rb +4 -5
- data/lib/snaky_params/version.rb +1 -1
- data/snaky_params.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3229a8f06396d4406b28d9602e913f471aee51421bdd4302dc6b4dfd707c6d91
|
4
|
+
data.tar.gz: d9c6e2722572559595d24296ee79764f133521e7f7b69f524d14656be7ceb653
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d0fef0e2d5733dc53df4dade9aca0cadc6ced1232e892fbfd4b78f4277e816523173ffb60930d58afd4cd93312b0e8d5366e5593b007f5da2f6df33fb1efd0f
|
7
|
+
data.tar.gz: f005bc29b3b62c9f3f4a2010dd160c0af270c4550f593789454a13c85c7c45b1f79f27c6470080f332fc2586539e496ce9540c671a473ab6379755f413ba4d00
|
data/README.md
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
# SnakyParams
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/snaky_params)
|
4
|
+
|
3
5
|
SnakyParams is Rack middleware for Rails that automatically converts request parameter keys to snake_case.
|
4
6
|
|
5
|
-
This is useful if you Rails app is being used as an API for a
|
7
|
+
This is useful if you Rails app is being used as an API for a front-end application written in any other language (e.g. JavaScript). In Ruby and Rails, the widely adopted naming convention is to use `snake_case` for variables, keys etc. Popular JavaScript style guides (such as the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)) tend to recommend camelCase. This gem allows you to use snake_case in all Ruby/Rails code without having to worry about converting the case of parameter names or having non-conventional names.
|
6
8
|
|
7
9
|
## Installation
|
8
10
|
|
@@ -20,11 +22,13 @@ config.middleware.use SnakyParams::Middleware
|
|
20
22
|
|
21
23
|
## Usage
|
22
24
|
|
23
|
-
Conversion is automatic. All parameter keys in requests to your Rails application are converted to snake_case.
|
24
|
-
|
25
|
-
Example:
|
25
|
+
Conversion is automatic. All query, post, put and patch parameter keys in requests to your Rails application are converted to snake_case.
|
26
26
|
|
27
|
-
|
27
|
+
Example:
|
28
|
+
- `searchQuery` becomes `search_query`
|
29
|
+
- `FirstName` becomes `first_name`
|
30
|
+
- `last-name` becomes `last_name`
|
31
|
+
- `monthlyOrYearlySalary` becomes `monthly_or_yearly_salary`
|
28
32
|
|
29
33
|
|
30
34
|
## Contributing
|
@@ -5,13 +5,12 @@ module SnakyParams
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def call(env)
|
8
|
-
|
9
|
-
request = Rack::Request.new(env)
|
8
|
+
request = ActionDispatch::Request.new(env)
|
10
9
|
|
11
|
-
request.
|
12
|
-
request.
|
10
|
+
request.request_parameters.deep_transform_keys!(&:underscore)
|
11
|
+
request.query_parameters.deep_transform_keys!(&:underscore)
|
13
12
|
|
14
13
|
@app.call(env)
|
15
14
|
end
|
16
15
|
end
|
17
|
-
end
|
16
|
+
end
|
data/lib/snaky_params/version.rb
CHANGED
data/snaky_params.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.add_dependency "rails", ">=
|
24
|
+
spec.add_dependency "rails", ">= 5.0"
|
25
25
|
|
26
26
|
spec.add_development_dependency "bundler", "~> 1.15"
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snaky_params
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Usman Sherwani
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
90
|
version: '0'
|
91
91
|
requirements: []
|
92
92
|
rubyforge_project:
|
93
|
-
rubygems_version: 2.6
|
93
|
+
rubygems_version: 2.7.6
|
94
94
|
signing_key:
|
95
95
|
specification_version: 4
|
96
96
|
summary: Middleware to convert params to snake_case
|