spark_api 1.4.18 → 1.4.19
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 +8 -8
- data/VERSION +1 -1
- data/lib/spark_api/request.rb +6 -1
- data/lib/spark_api/response.rb +3 -1
- data/spec/unit/spark_api/request_spec.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjBhNTg3Y2Q0ZWY3NzUzZDI3ZjViNjNkZjY3NGQ2YmU1ZTIwODE4Mw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjkwOTRhZGVhYjkzZmFjYjkwOGYzMDkzYzI2M2VkYWQwNzJjY2VhZg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MWIzZTkzZGJmZDcwNzg1YmY4ZTY4NTcyZDViOWZjNTgzYzZhNjNlZmFiZmQw
|
10
|
+
NWZhZGUwZTc1YTA5NDljOTc3NzVkM2UwZTcwMjQ1Y2MyMThmN2E4ZTU4NjVh
|
11
|
+
ZTc1YTMyZTNlZTUzNzRiNmJiY2Q0YTA4YjRhZmNlNWE0NDA2MzM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZDI2YzIxZTU1NjlhMDBmN2U2NTgwYWEwNDFhZGI5NWE2MjI0NzYxZjJhODJj
|
14
|
+
YjQzOWExZjFiMDU2ODE5YWU1NWQ3OGZjY2RlZjM0MmM3OTc4ZjAzNmQ3NTRi
|
15
|
+
YzYxYzI2OTAwZmY2YTk0YzM0NjM1MTZkYTMzOTE4OWFlOGRhMTY=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.19
|
data/lib/spark_api/request.rb
CHANGED
@@ -92,7 +92,12 @@ module SparkApi
|
|
92
92
|
SparkApi.logger.error { "Authentication failed or server is sending us expired tokens, nothing we can do here." }
|
93
93
|
raise
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
|
+
if options[:full_response]
|
97
|
+
return response
|
98
|
+
else
|
99
|
+
return response.body
|
100
|
+
end
|
96
101
|
rescue Faraday::Error::ConnectionFailed => e
|
97
102
|
if self.ssl_verify && e.message =~ /certificate verify failed/
|
98
103
|
SparkApi.logger.error { SparkApi::Errors.ssl_verification_error }
|
data/lib/spark_api/response.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module SparkApi
|
2
2
|
# API Response interface
|
3
3
|
module Response
|
4
|
-
ATTRIBUTES = [:code, :message, :results, :success, :pagination, :details, :d]
|
4
|
+
ATTRIBUTES = [:code, :message, :results, :success, :pagination, :details, :d, :errors, :sparkql_errors]
|
5
5
|
attr_accessor *ATTRIBUTES
|
6
6
|
def success?
|
7
7
|
@success
|
@@ -23,6 +23,8 @@ module SparkApi
|
|
23
23
|
self.success = self.d["Success"]
|
24
24
|
self.pagination = self.d["Pagination"]
|
25
25
|
self.details = self.d["Details"] || []
|
26
|
+
self.errors = self.d["Errors"]
|
27
|
+
self.sparkql_errors = self.d['SparkQLErrors']
|
26
28
|
super(results)
|
27
29
|
rescue Exception => e
|
28
30
|
SparkApi.logger.error "Unable to understand the response! #{d}"
|
@@ -57,6 +57,20 @@ describe SparkApi do
|
|
57
57
|
r.success?.should be(false)
|
58
58
|
r.message.should be == "I am a failure."
|
59
59
|
end
|
60
|
+
it "should have SparkQLErrors when present" do
|
61
|
+
err = {"Token" => "ExpirationDate", "Status" => "Dropped"}
|
62
|
+
r = SparkApi::ApiResponse.new({"D"=>{"Success" => false, "Message" => "I am a failure from .",
|
63
|
+
"SparkQLErrors" => [err]
|
64
|
+
}})
|
65
|
+
r.sparkql_errors.first.should eq(err)
|
66
|
+
end
|
67
|
+
it "should have Errors when present" do
|
68
|
+
err = {"Type" => "InvalidAttribute", "Attribute" => "DisplayName", "Message" => "DisplayName is wrong."}
|
69
|
+
r = SparkApi::ApiResponse.new({"D"=>{"Success" => false, "Message" => "I am a failure from .",
|
70
|
+
"Errors" => [err]
|
71
|
+
}})
|
72
|
+
r.errors.first.should eq(err)
|
73
|
+
end
|
60
74
|
end
|
61
75
|
|
62
76
|
describe SparkApi::Request do
|
@@ -197,6 +211,13 @@ describe SparkApi do
|
|
197
211
|
subject.post('/stringdata', 'I am a lonely String!').success?.should == true
|
198
212
|
end
|
199
213
|
|
214
|
+
it "should allow response object to be returned instead of body" do
|
215
|
+
r = subject.get('/system', { full_response: true })
|
216
|
+
|
217
|
+
r.is_a?(Faraday::Response).should be(true)
|
218
|
+
r.status.should eq(200)
|
219
|
+
end
|
220
|
+
|
200
221
|
it "should give me BigDecimal results for large floating point numbers" do
|
201
222
|
MultiJson.default_adapter.should eq(:yajl) unless jruby?
|
202
223
|
result = subject.get('/listings/1000')[0]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spark_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Hornseth
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-01
|
12
|
+
date: 2018-02-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|