grape-batch 2.0.0 → 2.0.1
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/CHANGELOG.md +5 -1
- data/grape-batch.gemspec +0 -2
- data/lib/grape/batch.rb +1 -1
- data/lib/grape/batch/hash_converter.rb +1 -1
- data/lib/grape/batch/response.rb +15 -3
- data/lib/grape/batch/version.rb +1 -1
- data/spec/requests_spec.rb +6 -0
- metadata +2 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbbf72e7d25fcf89c630726e596e076196efe570
|
4
|
+
data.tar.gz: afdfe942d8894569147cec3e7665c1f7ef03811e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 792bfb7fa1ad3361706e79035093e3b4ec9b26764f3d1810584345e72ee37f2365a1d404a958ce96de6790bb8179cbf21dafd4bfd335e336a54a03798c1d7774
|
7
|
+
data.tar.gz: 49ca34252acda3520aac0c20eb8efc597422ac2a1e1e3764bb828e71d8705cedc1d9fe50198823d86d34ef21d39a0717f48220695f3fe617b64ff44f9d589a1a
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
+
# 2.0.1 (30th September 2015)
|
2
|
+
* Removed obsolete gem dependencies
|
3
|
+
* Now ensures the response is properly formatted and not empty, or returns an error
|
4
|
+
|
1
5
|
# 2.0.0 (26rd August 2015)
|
2
6
|
* Removed session_header from configuration options
|
3
|
-
|
7
|
+
* Now passes the whole env to the session Proc
|
4
8
|
|
5
9
|
# 1.2.1 (24rd July 2015)
|
6
10
|
* Using env['HTTP_X_REQUEST_ID'] or env['rack-timeout.info'][:id] or generate unique hex to identify request batch
|
data/grape-batch.gemspec
CHANGED
@@ -17,10 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
|
-
spec.add_runtime_dependency 'rack', '>= 1.5'
|
21
20
|
spec.add_runtime_dependency 'grape', '>= 0.7.0'
|
22
21
|
spec.add_runtime_dependency 'multi_json', '>= 1.0'
|
23
|
-
spec.add_runtime_dependency 'activesupport', '>= 4.1.0'
|
24
22
|
|
25
23
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
26
24
|
spec.add_development_dependency 'rake', '~> 10.3.2'
|
data/lib/grape/batch.rb
CHANGED
data/lib/grape/batch/response.rb
CHANGED
@@ -1,10 +1,22 @@
|
|
1
1
|
class Grape::Batch::Response
|
2
|
-
def self.format(status, headers, response)
|
2
|
+
def self.format(status, headers, response, env)
|
3
3
|
if response
|
4
4
|
body = response.respond_to?(:body) ? response.body.join : response.join
|
5
|
-
|
5
|
+
parsing_failed = true
|
6
|
+
|
7
|
+
begin
|
8
|
+
result = MultiJson.decode(body)
|
9
|
+
parsing_failed = false
|
10
|
+
rescue MultiJson::ParseError
|
11
|
+
# Captain planet to the rescue
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
if parsing_failed || result.empty?
|
16
|
+
status = 404
|
17
|
+
result = { 'error' => "#{env['PATH_INFO']} not found" }
|
6
18
|
end
|
7
19
|
|
8
|
-
(200..299).include?(status) ? {success: result} : {code: status, error: result['error']}
|
20
|
+
(200..299).include?(status) ? { success: result } : { code: status, error: result['error'] }
|
9
21
|
end
|
10
22
|
end
|
data/lib/grape/batch/version.rb
CHANGED
data/spec/requests_spec.rb
CHANGED
@@ -134,6 +134,12 @@ RSpec.describe Grape::Batch::Base do
|
|
134
134
|
it { expect(response.body).to eq(encode([{ success: 'status 856' }])) }
|
135
135
|
end
|
136
136
|
|
137
|
+
context 'with an unknown version' do
|
138
|
+
let(:request_body) { encode({ requests: [{ method: 'GET', path: '/api/v2/status', body: { id: 856 } }] }) }
|
139
|
+
it { expect(response.status).to eq(200) }
|
140
|
+
it { expect(response.body).to eq(encode([{ code: 404, error: '/api/v2/status not found' }])) }
|
141
|
+
end
|
142
|
+
|
137
143
|
context 'with a body and nested hash' do
|
138
144
|
let(:complex) do
|
139
145
|
{ a: { b: { c: 1 } } }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grape-batch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lionel Oto
|
@@ -10,22 +10,8 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-09-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: rack
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
18
|
-
requirements:
|
19
|
-
- - ">="
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '1.5'
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
version: '1.5'
|
29
15
|
- !ruby/object:Gem::Dependency
|
30
16
|
name: grape
|
31
17
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,20 +40,6 @@ dependencies:
|
|
54
40
|
- - ">="
|
55
41
|
- !ruby/object:Gem::Version
|
56
42
|
version: '1.0'
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: activesupport
|
59
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 4.1.0
|
64
|
-
type: :runtime
|
65
|
-
prerelease: false
|
66
|
-
version_requirements: !ruby/object:Gem::Requirement
|
67
|
-
requirements:
|
68
|
-
- - ">="
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 4.1.0
|
71
43
|
- !ruby/object:Gem::Dependency
|
72
44
|
name: bundler
|
73
45
|
requirement: !ruby/object:Gem::Requirement
|