soapy_cake 1.16.1 → 1.16.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/soapy_cake/client.rb +4 -12
- data/lib/soapy_cake/helper.rb +2 -2
- data/lib/soapy_cake/request.rb +3 -3
- data/lib/soapy_cake/response.rb +1 -1
- data/lib/soapy_cake/response_value.rb +4 -5
- data/lib/soapy_cake/time_converter.rb +1 -1
- data/lib/soapy_cake/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90fef756332d326320cff251efb995ae7ecbb552
|
4
|
+
data.tar.gz: ed0f70f712a51a60816ee644dfc37f2def6aff67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 387dd15276c23c87bb7edda1b05af420df08b684fadf4e7a5321cab1f5aa73f57c15aaff8a93a5ad0bbda459a9f567e79e8db6692fe1a124c72dbf7dbc009dd0
|
7
|
+
data.tar.gz: 3c89c8fc345633e689d1dac0ab9bdba2164f59be4fd3e44f09d1eea414da4055b05fc3972b7edb318e392c61ad7c7d364682cf3aa7382efbc44d4e95bfe59cd0
|
data/lib/soapy_cake/client.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module SoapyCake
|
2
2
|
class Client
|
3
|
-
|
3
|
+
HEADERS = { 'Content-Type' => 'application/soap+xml;charset=UTF-8' }.freeze
|
4
4
|
|
5
5
|
def initialize(opts = {})
|
6
6
|
@domain = opts.fetch(:domain, ENV['CAKE_DOMAIN']) || fail(Error, 'Cake domain missing')
|
@@ -19,7 +19,7 @@ module SoapyCake
|
|
19
19
|
|
20
20
|
protected
|
21
21
|
|
22
|
-
attr_reader :opts
|
22
|
+
attr_reader :domain, :api_key, :time_converter, :opts
|
23
23
|
|
24
24
|
def run(request)
|
25
25
|
request.api_key = api_key
|
@@ -32,25 +32,17 @@ module SoapyCake
|
|
32
32
|
private
|
33
33
|
|
34
34
|
def response_body(request)
|
35
|
-
|
36
|
-
request.opts[:response]
|
37
|
-
else
|
38
|
-
http_response(request)
|
39
|
-
end
|
35
|
+
request.opts[:response].presence || http_response(request)
|
40
36
|
end
|
41
37
|
|
42
38
|
def http_response(request)
|
43
39
|
url = "https://#{domain}#{request.path}"
|
44
|
-
http_response = HTTParty.post(url, headers:
|
40
|
+
http_response = HTTParty.post(url, headers: HEADERS, body: request.xml, timeout: NET_TIMEOUT)
|
45
41
|
|
46
42
|
fail RequestFailed, "Request failed with HTTP #{http_response.code}: " \
|
47
43
|
"#{http_response.body}" unless http_response.success?
|
48
44
|
|
49
45
|
http_response
|
50
46
|
end
|
51
|
-
|
52
|
-
def headers
|
53
|
-
{ 'Content-Type' => 'application/soap+xml;charset=UTF-8' }
|
54
|
-
end
|
55
47
|
end
|
56
48
|
end
|
data/lib/soapy_cake/helper.rb
CHANGED
data/lib/soapy_cake/request.rb
CHANGED
@@ -40,9 +40,9 @@ module SoapyCake
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def xml_params(xml)
|
43
|
-
xml.api_key
|
43
|
+
xml.api_key(api_key)
|
44
44
|
opts.each do |k, v|
|
45
|
-
xml.public_send(k
|
45
|
+
xml.public_send(k, format_param(k, v))
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
@@ -56,7 +56,7 @@ module SoapyCake
|
|
56
56
|
def format_param(key, value)
|
57
57
|
return time_converter.to_cake(value) if DATE_CLASSES.include?(value.class)
|
58
58
|
|
59
|
-
if key.to_s.end_with?('_date')
|
59
|
+
if key.to_s.end_with?('_date'.freeze)
|
60
60
|
fail Error, "You need to use a Time/DateTime/Date object for '#{key}'"
|
61
61
|
end
|
62
62
|
|
data/lib/soapy_cake/response.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
module SoapyCake
|
2
2
|
class ResponseValue
|
3
|
-
attr_reader :value
|
4
|
-
attr_reader :key
|
3
|
+
attr_reader :key, :value
|
5
4
|
|
6
5
|
# Known string ids that should not be parsed as integers
|
7
6
|
STRING_IDS = %w(tax_id transaction_id).freeze
|
@@ -27,11 +26,11 @@ module SoapyCake
|
|
27
26
|
attr_reader :time_converter
|
28
27
|
|
29
28
|
def false?
|
30
|
-
value == 'false'
|
29
|
+
value == 'false'.freeze
|
31
30
|
end
|
32
31
|
|
33
32
|
def true?
|
34
|
-
value == 'true'
|
33
|
+
value == 'true'.freeze
|
35
34
|
end
|
36
35
|
|
37
36
|
def date?
|
@@ -39,7 +38,7 @@ module SoapyCake
|
|
39
38
|
end
|
40
39
|
|
41
40
|
def id?
|
42
|
-
key.
|
41
|
+
key.end_with?('_id'.freeze)
|
43
42
|
end
|
44
43
|
|
45
44
|
def string_id?
|
data/lib/soapy_cake/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soapy_cake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.16.
|
4
|
+
version: 1.16.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ad2games GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|