olive_branch 2.1.4 → 2.1.5
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 +4 -4
- data/README.md +5 -1
- data/lib/olive_branch/middleware.rb +7 -0
- data/lib/olive_branch/version.rb +1 -1
- metadata +3 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30af0d59c0e8df679e1783b6cd3ce57d5c21798ecff3b667ac0f8fd8338d8574
|
4
|
+
data.tar.gz: d9351f2645900302d92b35a0d0ae3e74b76eac6896214afd78a28c2f622a6f6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4e60b68bacc722e63e6ea81d98879aa8b429c884380eee66603b991720feba73b87476da6c780430d83aea3ed706493d5691ee054c8ed8f5343cd36cd699bab
|
7
|
+
data.tar.gz: 9262f295bd14cb6babf280b6064be3ba0603497728e2bbd8d8ea782b5827d3652df381d7607991bbe9dc8c32edab41cefaef99caa566dd73014fe4cddfbbb332
|
data/README.md
CHANGED
@@ -90,7 +90,11 @@ config.middleware.use OliveBranch::Middleware, exclude_response: -> (env) {
|
|
90
90
|
|
91
91
|
## Troubleshooting
|
92
92
|
|
93
|
-
We've seen
|
93
|
+
We've seen folks raise issues that inbound transformations are not taking place. This is often due to the fact that OliveBranch, by default, is only transforming keys when a request's Content-Type is `application/json`.
|
94
|
+
|
95
|
+
Note that your HTTP client library may suppress even a manually specified `Content-Type` header if the request body is empty (e.g. [Axios does this](https://github.com/axios/axios/issues/86)). This is a common gotcha for GET requests, the body of which are [often expected to be empty](https://stackoverflow.com/questions/978061/http-get-with-request-body) for reasons of caching. If you're seeing the middleware perform on POST or PATCH requests, but not GET requests, this may be your issue.
|
96
|
+
|
97
|
+
You may choose to force inbound transformation on every request by overriding the `content_type_check` functionality:
|
94
98
|
|
95
99
|
```ruby
|
96
100
|
config.middleware.use OliveBranch::Middleware, content_type_check: -> (content_type) { true }
|
@@ -22,6 +22,10 @@ module OliveBranch
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
+
def pascalize(string)
|
26
|
+
string.underscore.camelize(:upper)
|
27
|
+
end
|
28
|
+
|
25
29
|
def camelize(string)
|
26
30
|
string.underscore.camelize(:lower)
|
27
31
|
end
|
@@ -46,6 +50,7 @@ module OliveBranch
|
|
46
50
|
@app = app
|
47
51
|
@camelize = args[:camelize] || Transformations.method(:camelize)
|
48
52
|
@dasherize = args[:dasherize] || Transformations.method(:dasherize)
|
53
|
+
@pascalize = args[:pascalize] || Transformations.method(:pascalize)
|
49
54
|
@content_type_check = args[:content_type_check] || Checks.method(:content_type_check)
|
50
55
|
@exclude_response = args[:exclude_response] || Checks.method(:default_exclude)
|
51
56
|
@exclude_params = args[:exclude_params] || Checks.method(:default_exclude)
|
@@ -105,6 +110,8 @@ module OliveBranch
|
|
105
110
|
@camelize
|
106
111
|
elsif inflection == "dash"
|
107
112
|
@dasherize
|
113
|
+
elsif inflection == 'pascal'
|
114
|
+
@pascalize
|
108
115
|
else
|
109
116
|
# probably misconfigured, do nothing
|
110
117
|
-> (string) { string }
|
data/lib/olive_branch/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: olive_branch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eli Fatsi
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -95,20 +95,6 @@ dependencies:
|
|
95
95
|
- - ">="
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: sqlite3
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - ">="
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
105
|
-
type: :development
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - ">="
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
112
98
|
description: Handle camel/snake/dash case conversion
|
113
99
|
email:
|
114
100
|
- eli.fatsi@viget.com
|
@@ -141,8 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
127
|
- !ruby/object:Gem::Version
|
142
128
|
version: '0'
|
143
129
|
requirements: []
|
144
|
-
|
145
|
-
rubygems_version: 2.7.6
|
130
|
+
rubygems_version: 3.0.1
|
146
131
|
signing_key:
|
147
132
|
specification_version: 4
|
148
133
|
summary: Handle camel/snake/dash case conversion
|