soapy_cake 1.26.0 → 2.0.0
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/admin_addedit.rb +2 -2
- data/lib/soapy_cake/client.rb +3 -4
- data/lib/soapy_cake/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/SoapyCake_AdminAddedit/geo_targeting/creates_geo_targetings.yml +23 -11
- data/spec/integration/soapy_cake/admin_addedit_spec.rb +4 -3
- data/spec/lib/soapy_cake/admin_addedit_spec.rb +1 -0
- data/spec/lib/soapy_cake/admin_batched_spec.rb +1 -1
- data/spec/lib/soapy_cake/admin_spec.rb +1 -0
- data/spec/lib/soapy_cake/affiliate_spec.rb +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a83e62398d6bf19d63c844e3b38b49ef77e1c32
|
4
|
+
data.tar.gz: d3343d5c47737c662a489885633aa481d71bfa4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a76be5731e6506480c83e4a1fbbbf73dcfb0c6121a8e9bef0b5ab79e46e06d9dc18465dadd1f3bcbfea21babe07270aab845f7211b63507094f1145bf1131b54
|
7
|
+
data.tar.gz: 5fe3a19428b63b69d115252904e865e5d4715bdff19b76e1db8bd49c3f74216058ebb6f4667dac7c63b1898d003b9ad1483059a630bb54237367bf235b154b57
|
@@ -111,7 +111,7 @@ module SoapyCake
|
|
111
111
|
run Request.new(:admin, :addedit, :contact, opts)
|
112
112
|
end
|
113
113
|
|
114
|
-
def
|
114
|
+
def edit_geo_targets(opts)
|
115
115
|
require_params(opts, %i(offer_contract_id allow_countries))
|
116
116
|
|
117
117
|
opts = if opts[:allow_countries]
|
@@ -120,7 +120,7 @@ module SoapyCake
|
|
120
120
|
geo_targets_redirect_options(opts)
|
121
121
|
end
|
122
122
|
|
123
|
-
opts = opts.merge(add_edit_option: '
|
123
|
+
opts = opts.merge(add_edit_option: 'replace', set_targeting_to_geo: true)
|
124
124
|
|
125
125
|
run Request.new(:admin, :addedit, :geo_targets, opts)
|
126
126
|
end
|
data/lib/soapy_cake/client.rb
CHANGED
@@ -44,9 +44,8 @@ module SoapyCake
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def check_write_enabled!(request)
|
47
|
-
|
48
|
-
|
49
|
-
end
|
47
|
+
return if request.read_only? || write_enabled
|
48
|
+
raise Error, 'Writes not enabled (pass write_enabled: true or set CAKE_WRITE_ENABLED=yes)'
|
50
49
|
end
|
51
50
|
|
52
51
|
def with_retries(&block)
|
@@ -63,7 +62,7 @@ module SoapyCake
|
|
63
62
|
end
|
64
63
|
|
65
64
|
def http_response(request)
|
66
|
-
logger
|
65
|
+
logger&.info("soapy_cake:request #{request}")
|
67
66
|
|
68
67
|
http_request = Net::HTTP::Post.new(request.path, HEADERS)
|
69
68
|
http_request.body = request.xml
|
data/lib/soapy_cake/version.rb
CHANGED
data/spec/fixtures/vcr_cassettes/SoapyCake_AdminAddedit/geo_targeting/creates_geo_targetings.yml
CHANGED
@@ -16,7 +16,7 @@ http_interactions:
|
|
16
16
|
<cake:countries>DE,FR</cake:countries>
|
17
17
|
<cake:allow_countries>true</cake:allow_countries>
|
18
18
|
<cake:redirect_site_offer_contract_ids>-1,-1</cake:redirect_site_offer_contract_ids>
|
19
|
-
<cake:add_edit_option>
|
19
|
+
<cake:add_edit_option>replace</cake:add_edit_option>
|
20
20
|
<cake:set_targeting_to_geo>true</cake:set_targeting_to_geo>
|
21
21
|
</cake:GeoTargets>
|
22
22
|
</env:Body>
|
@@ -24,6 +24,12 @@ http_interactions:
|
|
24
24
|
headers:
|
25
25
|
Content-Type:
|
26
26
|
- application/soap+xml;charset=UTF-8
|
27
|
+
Accept-Encoding:
|
28
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
29
|
+
Accept:
|
30
|
+
- "*/*"
|
31
|
+
User-Agent:
|
32
|
+
- Ruby
|
27
33
|
response:
|
28
34
|
status:
|
29
35
|
code: 200
|
@@ -34,21 +40,21 @@ http_interactions:
|
|
34
40
|
Content-Type:
|
35
41
|
- application/soap+xml; charset=utf-8
|
36
42
|
Server:
|
37
|
-
- Microsoft-IIS/8.
|
43
|
+
- Microsoft-IIS/8.5
|
38
44
|
X-Aspnet-Version:
|
39
45
|
- 4.0.30319
|
40
46
|
X-Powered-By:
|
41
47
|
- ASP.NET
|
42
48
|
Date:
|
43
|
-
-
|
49
|
+
- Mon, 10 Oct 2016 10:22:33 GMT
|
44
50
|
Content-Length:
|
45
|
-
- '
|
51
|
+
- '449'
|
46
52
|
body:
|
47
53
|
encoding: UTF-8
|
48
54
|
string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
|
49
55
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GeoTargetsResponse
|
50
56
|
xmlns="http://cakemarketing.com/api/3/"><GeoTargetsResult><success>true</success><message>Geotarget(s)
|
51
|
-
|
57
|
+
Replaced</message><row_count>2</row_count></GeoTargetsResult></GeoTargetsResponse></soap:Body></soap:Envelope>
|
52
58
|
http_version:
|
53
59
|
recorded_at: Tue, 17 Feb 2015 12:00:00 GMT
|
54
60
|
- request:
|
@@ -67,7 +73,7 @@ http_interactions:
|
|
67
73
|
<cake:countries>AT,CH</cake:countries>
|
68
74
|
<cake:allow_countries>false</cake:allow_countries>
|
69
75
|
<cake:redirect_site_offer_contract_ids>1392,1392</cake:redirect_site_offer_contract_ids>
|
70
|
-
<cake:add_edit_option>
|
76
|
+
<cake:add_edit_option>replace</cake:add_edit_option>
|
71
77
|
<cake:set_targeting_to_geo>true</cake:set_targeting_to_geo>
|
72
78
|
</cake:GeoTargets>
|
73
79
|
</env:Body>
|
@@ -75,6 +81,12 @@ http_interactions:
|
|
75
81
|
headers:
|
76
82
|
Content-Type:
|
77
83
|
- application/soap+xml;charset=UTF-8
|
84
|
+
Accept-Encoding:
|
85
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
86
|
+
Accept:
|
87
|
+
- "*/*"
|
88
|
+
User-Agent:
|
89
|
+
- Ruby
|
78
90
|
response:
|
79
91
|
status:
|
80
92
|
code: 200
|
@@ -85,21 +97,21 @@ http_interactions:
|
|
85
97
|
Content-Type:
|
86
98
|
- application/soap+xml; charset=utf-8
|
87
99
|
Server:
|
88
|
-
- Microsoft-IIS/8.
|
100
|
+
- Microsoft-IIS/8.5
|
89
101
|
X-Aspnet-Version:
|
90
102
|
- 4.0.30319
|
91
103
|
X-Powered-By:
|
92
104
|
- ASP.NET
|
93
105
|
Date:
|
94
|
-
-
|
106
|
+
- Mon, 10 Oct 2016 10:22:33 GMT
|
95
107
|
Content-Length:
|
96
|
-
- '
|
108
|
+
- '449'
|
97
109
|
body:
|
98
110
|
encoding: UTF-8
|
99
111
|
string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
|
100
112
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GeoTargetsResponse
|
101
113
|
xmlns="http://cakemarketing.com/api/3/"><GeoTargetsResult><success>true</success><message>Geotarget(s)
|
102
|
-
|
114
|
+
Replaced</message><row_count>2</row_count></GeoTargetsResult></GeoTargetsResponse></soap:Body></soap:Envelope>
|
103
115
|
http_version:
|
104
116
|
recorded_at: Tue, 17 Feb 2015 12:00:00 GMT
|
105
|
-
recorded_with: VCR
|
117
|
+
recorded_with: VCR 3.0.1
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
RSpec.describe SoapyCake::AdminAddedit do
|
3
|
+
# rubocop:disable RSpec/NestedGroups
|
3
4
|
subject(:admin_addedit) { described_class.new }
|
4
5
|
|
5
6
|
around { |example| Timecop.freeze(Time.utc(2015, 2, 17, 12), &example) }
|
@@ -149,14 +150,14 @@ RSpec.describe SoapyCake::AdminAddedit do
|
|
149
150
|
|
150
151
|
describe 'geo targeting' do
|
151
152
|
it 'creates geo targetings', :vcr do
|
152
|
-
result = admin_addedit.
|
153
|
+
result = admin_addedit.edit_geo_targets(
|
153
154
|
offer_contract_id: offer_contract_id,
|
154
155
|
countries: %w(DE FR),
|
155
156
|
allow_countries: true
|
156
157
|
)
|
157
158
|
expect(result).to include(success: true, row_count: '2')
|
158
159
|
|
159
|
-
result = admin_addedit.
|
160
|
+
result = admin_addedit.edit_geo_targets(
|
160
161
|
offer_contract_id: offer_contract_id,
|
161
162
|
countries: %w(AT CH),
|
162
163
|
redirects: {
|
@@ -170,7 +171,7 @@ RSpec.describe SoapyCake::AdminAddedit do
|
|
170
171
|
|
171
172
|
it 'fails if it does not get a correct redirect hash' do
|
172
173
|
expect do
|
173
|
-
admin_addedit.
|
174
|
+
admin_addedit.edit_geo_targets(
|
174
175
|
offer_contract_id: offer_contract_id,
|
175
176
|
redirects: {},
|
176
177
|
allow_countries: false
|
@@ -3,7 +3,7 @@ RSpec.describe SoapyCake::AdminBatched do
|
|
3
3
|
subject(:admin_batched) { described_class.new }
|
4
4
|
let(:admin) { instance_double(SoapyCake::Admin, xml_response?: false) }
|
5
5
|
|
6
|
-
before
|
6
|
+
before do
|
7
7
|
allow(SoapyCake::Admin).to receive(:new).and_return(admin)
|
8
8
|
|
9
9
|
stub_const('SoapyCake::AdminBatched::BatchedRequest::LIMIT', 2)
|
@@ -11,6 +11,7 @@ RSpec.describe SoapyCake::Affiliate do
|
|
11
11
|
request = instance_double(SoapyCake::Request)
|
12
12
|
expect(SoapyCake::Request).to receive(:new)
|
13
13
|
.with(:affiliate, service, method, cake_opts).and_return(request)
|
14
|
+
# rubocop:disable RSpec/SubjectStub
|
14
15
|
expect(affiliate).to receive(:run).with(request)
|
15
16
|
|
16
17
|
affiliate.public_send(method, opts)
|
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:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ad2games GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -257,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
257
257
|
version: '0'
|
258
258
|
requirements: []
|
259
259
|
rubyforge_project:
|
260
|
-
rubygems_version: 2.
|
260
|
+
rubygems_version: 2.5.1
|
261
261
|
signing_key:
|
262
262
|
specification_version: 4
|
263
263
|
summary: Simple client for the CAKE API
|