soapy_cake 1.3.6 → 1.4.0
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/api_versions.yml +1 -1
 - data/lib/soapy_cake/admin_addedit.rb +21 -3
 - data/lib/soapy_cake/version.rb +1 -1
 - data/spec/fixtures/vcr_cassettes/ADDEDIT_integration_test/geo_targeting/creates_geo_targetings.yml +59 -6
 - data/spec/lib/soapy_cake/addedit_integration_spec.rb +26 -2
 - data/spec/spec_helper.rb +2 -2
 - 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: cd9650087f25d594328017d9adf7455f3d6b3763
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 91a2b6a9eef7ee1b47d2389a7468e43de79b191f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d6eb4e5f4cba2ce09552f8f37671ee22fa4cb64522dadcae33156894a81fa3eea5a1b9aaf03cc241b09811b59ba03cc14ae4eb5d4b02df80c3626ed1364a3e97
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 7e2c571cf58d813ca780dfd56272f41aca615e04b97f7e1d8e1a20bdc820b82a78003c13efb0379b0d04f3217f44d71961b1df074171df5afd838e28ad44d5c7
         
     | 
    
        data/api_versions.yml
    CHANGED
    
    
| 
         @@ -21,11 +21,29 @@ module SoapyCake 
     | 
|
| 
       21 
21 
     | 
    
         
             
                end
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                def add_geo_targets(opts = {})
         
     | 
| 
       24 
     | 
    
         
            -
                  require_params(opts, %i(offer_contract_id  
     | 
| 
      
 24 
     | 
    
         
            +
                  require_params(opts, %i(offer_contract_id allow_countries))
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  if opts[:allow_countries]
         
     | 
| 
      
 27 
     | 
    
         
            +
                    require_params(opts, %i(countries))
         
     | 
| 
      
 28 
     | 
    
         
            +
                    countries = Array(opts[:countries])
         
     | 
| 
      
 29 
     | 
    
         
            +
                    opts[:countries] = countries.join(',')
         
     | 
| 
      
 30 
     | 
    
         
            +
                    opts[:redirect_offer_contract_ids] = ([0] * countries.count).join(',')
         
     | 
| 
      
 31 
     | 
    
         
            +
                  else
         
     | 
| 
      
 32 
     | 
    
         
            +
                    unless opts[:redirects].is_a?(Hash) && opts[:redirects].keys.count > 0
         
     | 
| 
      
 33 
     | 
    
         
            +
                      fail Error, "Parameter 'redirects' must be a COUNTRY=>REDIRECT_OFFER_CONTRACT_ID hash!"
         
     | 
| 
      
 34 
     | 
    
         
            +
                    end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                    opts[:countries] = opts[:redirects].keys.join(',')
         
     | 
| 
      
 37 
     | 
    
         
            +
                    opts[:redirect_offer_contract_ids] = opts[:redirects].values.join(',')
         
     | 
| 
      
 38 
     | 
    
         
            +
                    opts.delete(:redirects)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  end
         
     | 
| 
       25 
40 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
                  opts 
     | 
| 
      
 41 
     | 
    
         
            +
                  opts.merge!(
         
     | 
| 
      
 42 
     | 
    
         
            +
                    add_edit_option: 'add',
         
     | 
| 
      
 43 
     | 
    
         
            +
                    set_targeting_to_geo: true
         
     | 
| 
      
 44 
     | 
    
         
            +
                  )
         
     | 
| 
       27 
45 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
                  run Request.new(:admin, :addedit, :geo_targets, opts 
     | 
| 
      
 46 
     | 
    
         
            +
                  run Request.new(:admin, :addedit, :geo_targets, opts)
         
     | 
| 
       29 
47 
     | 
    
         
             
                end
         
     | 
| 
       30 
48 
     | 
    
         | 
| 
       31 
49 
     | 
    
         
             
                def add_offer_contract(opts = {})
         
     | 
    
        data/lib/soapy_cake/version.rb
    CHANGED
    
    
    
        data/spec/fixtures/vcr_cassettes/ADDEDIT_integration_test/geo_targeting/creates_geo_targetings.yml
    CHANGED
    
    | 
         @@ -2,20 +2,73 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            http_interactions:
         
     | 
| 
       3 
3 
     | 
    
         
             
            - request:
         
     | 
| 
       4 
4 
     | 
    
         
             
                method: post
         
     | 
| 
       5 
     | 
    
         
            -
                uri: https://cake-partner-domain.com/api/ 
     | 
| 
      
 5 
     | 
    
         
            +
                uri: https://cake-partner-domain.com/api/2/addedit.asmx
         
     | 
| 
       6 
6 
     | 
    
         
             
                body:
         
     | 
| 
       7 
7 
     | 
    
         
             
                  encoding: UTF-8
         
     | 
| 
       8 
8 
     | 
    
         
             
                  string: |
         
     | 
| 
       9 
9 
     | 
    
         
             
                    <?xml version="1.0"?>
         
     | 
| 
       10 
     | 
    
         
            -
                    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/ 
     | 
| 
      
 10 
     | 
    
         
            +
                    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/2/">
         
     | 
| 
       11 
11 
     | 
    
         
             
                      <env:Header/>
         
     | 
| 
       12 
12 
     | 
    
         
             
                      <env:Body>
         
     | 
| 
       13 
13 
     | 
    
         
             
                        <cake:GeoTargets>
         
     | 
| 
       14 
14 
     | 
    
         
             
                          <cake:api_key>cake-api-key</cake:api_key>
         
     | 
| 
       15 
15 
     | 
    
         
             
                          <cake:offer_contract_id>1456</cake:offer_contract_id>
         
     | 
| 
       16 
16 
     | 
    
         
             
                          <cake:countries>DE,FR</cake:countries>
         
     | 
| 
      
 17 
     | 
    
         
            +
                          <cake:allow_countries>true</cake:allow_countries>
         
     | 
| 
      
 18 
     | 
    
         
            +
                          <cake:redirect_offer_contract_ids>0,0</cake:redirect_offer_contract_ids>
         
     | 
| 
      
 19 
     | 
    
         
            +
                          <cake:add_edit_option>add</cake:add_edit_option>
         
     | 
| 
       17 
20 
     | 
    
         
             
                          <cake:set_targeting_to_geo>true</cake:set_targeting_to_geo>
         
     | 
| 
      
 21 
     | 
    
         
            +
                        </cake:GeoTargets>
         
     | 
| 
      
 22 
     | 
    
         
            +
                      </env:Body>
         
     | 
| 
      
 23 
     | 
    
         
            +
                    </env:Envelope>
         
     | 
| 
      
 24 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 26 
     | 
    
         
            +
                  - application/soap+xml;charset=UTF-8
         
     | 
| 
      
 27 
     | 
    
         
            +
              response:
         
     | 
| 
      
 28 
     | 
    
         
            +
                status:
         
     | 
| 
      
 29 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 30 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 31 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 32 
     | 
    
         
            +
                  Cache-Control:
         
     | 
| 
      
 33 
     | 
    
         
            +
                  - private, max-age=0
         
     | 
| 
      
 34 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 35 
     | 
    
         
            +
                  - application/soap+xml; charset=utf-8
         
     | 
| 
      
 36 
     | 
    
         
            +
                  Server:
         
     | 
| 
      
 37 
     | 
    
         
            +
                  - Microsoft-IIS/8.0
         
     | 
| 
      
 38 
     | 
    
         
            +
                  X-Aspnet-Version:
         
     | 
| 
      
 39 
     | 
    
         
            +
                  - 4.0.30319
         
     | 
| 
      
 40 
     | 
    
         
            +
                  X-Powered-By:
         
     | 
| 
      
 41 
     | 
    
         
            +
                  - ASP.NET
         
     | 
| 
      
 42 
     | 
    
         
            +
                  Date:
         
     | 
| 
      
 43 
     | 
    
         
            +
                  - Tue, 17 Mar 2015 10:22:54 GMT
         
     | 
| 
      
 44 
     | 
    
         
            +
                  Content-Length:
         
     | 
| 
      
 45 
     | 
    
         
            +
                  - '446'
         
     | 
| 
      
 46 
     | 
    
         
            +
                body:
         
     | 
| 
      
 47 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 48 
     | 
    
         
            +
                  string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
         
     | 
| 
      
 49 
     | 
    
         
            +
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GeoTargetsResponse
         
     | 
| 
      
 50 
     | 
    
         
            +
                    xmlns="http://cakemarketing.com/api/2/"><GeoTargetsResult><success>true</success><message>Geotarget(s)
         
     | 
| 
      
 51 
     | 
    
         
            +
                    Added</message><row_count>2</row_count></GeoTargetsResult></GeoTargetsResponse></soap:Body></soap:Envelope>
         
     | 
| 
      
 52 
     | 
    
         
            +
                http_version: 
         
     | 
| 
      
 53 
     | 
    
         
            +
              recorded_at: Tue, 17 Feb 2015 12:00:00 GMT
         
     | 
| 
      
 54 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 55 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 56 
     | 
    
         
            +
                uri: https://cake-partner-domain.com/api/2/addedit.asmx
         
     | 
| 
      
 57 
     | 
    
         
            +
                body:
         
     | 
| 
      
 58 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 59 
     | 
    
         
            +
                  string: |
         
     | 
| 
      
 60 
     | 
    
         
            +
                    <?xml version="1.0"?>
         
     | 
| 
      
 61 
     | 
    
         
            +
                    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cake="http://cakemarketing.com/api/2/">
         
     | 
| 
      
 62 
     | 
    
         
            +
                      <env:Header/>
         
     | 
| 
      
 63 
     | 
    
         
            +
                      <env:Body>
         
     | 
| 
      
 64 
     | 
    
         
            +
                        <cake:GeoTargets>
         
     | 
| 
      
 65 
     | 
    
         
            +
                          <cake:api_key>cake-api-key</cake:api_key>
         
     | 
| 
      
 66 
     | 
    
         
            +
                          <cake:offer_contract_id>1456</cake:offer_contract_id>
         
     | 
| 
      
 67 
     | 
    
         
            +
                          <cake:countries>AT,CH</cake:countries>
         
     | 
| 
      
 68 
     | 
    
         
            +
                          <cake:allow_countries>false</cake:allow_countries>
         
     | 
| 
      
 69 
     | 
    
         
            +
                          <cake:redirect_offer_contract_ids>1392,1392</cake:redirect_offer_contract_ids>
         
     | 
| 
       18 
70 
     | 
    
         
             
                          <cake:add_edit_option>add</cake:add_edit_option>
         
     | 
| 
      
 71 
     | 
    
         
            +
                          <cake:set_targeting_to_geo>true</cake:set_targeting_to_geo>
         
     | 
| 
       19 
72 
     | 
    
         
             
                        </cake:GeoTargets>
         
     | 
| 
       20 
73 
     | 
    
         
             
                      </env:Body>
         
     | 
| 
       21 
74 
     | 
    
         
             
                    </env:Envelope>
         
     | 
| 
         @@ -38,15 +91,15 @@ http_interactions: 
     | 
|
| 
       38 
91 
     | 
    
         
             
                  X-Powered-By:
         
     | 
| 
       39 
92 
     | 
    
         
             
                  - ASP.NET
         
     | 
| 
       40 
93 
     | 
    
         
             
                  Date:
         
     | 
| 
       41 
     | 
    
         
            -
                  -  
     | 
| 
      
 94 
     | 
    
         
            +
                  - Tue, 17 Mar 2015 10:22:55 GMT
         
     | 
| 
       42 
95 
     | 
    
         
             
                  Content-Length:
         
     | 
| 
       43 
     | 
    
         
            -
                  - ' 
     | 
| 
      
 96 
     | 
    
         
            +
                  - '446'
         
     | 
| 
       44 
97 
     | 
    
         
             
                body:
         
     | 
| 
       45 
98 
     | 
    
         
             
                  encoding: UTF-8
         
     | 
| 
       46 
99 
     | 
    
         
             
                  string: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
         
     | 
| 
       47 
100 
     | 
    
         
             
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GeoTargetsResponse
         
     | 
| 
       48 
     | 
    
         
            -
                    xmlns="http://cakemarketing.com/api/ 
     | 
| 
       49 
     | 
    
         
            -
                    Added</message><row_count> 
     | 
| 
      
 101 
     | 
    
         
            +
                    xmlns="http://cakemarketing.com/api/2/"><GeoTargetsResult><success>true</success><message>Geotarget(s)
         
     | 
| 
      
 102 
     | 
    
         
            +
                    Added</message><row_count>2</row_count></GeoTargetsResult></GeoTargetsResponse></soap:Body></soap:Envelope>
         
     | 
| 
       50 
103 
     | 
    
         
             
                http_version: 
         
     | 
| 
       51 
104 
     | 
    
         
             
              recorded_at: Tue, 17 Feb 2015 12:00:00 GMT
         
     | 
| 
       52 
105 
     | 
    
         
             
            recorded_with: VCR 2.9.3
         
     | 
| 
         @@ -7,6 +7,7 @@ RSpec.describe 'ADDEDIT integration test' do 
     | 
|
| 
       7 
7 
     | 
    
         
             
              let(:vertical_id) { 41 }
         
     | 
| 
       8 
8 
     | 
    
         
             
              let(:offer_id) { 8910 }
         
     | 
| 
       9 
9 
     | 
    
         
             
              let(:offer_contract_id) { 1456 }
         
     | 
| 
      
 10 
     | 
    
         
            +
              let(:redirect_offer_contract_id) { 1392 }
         
     | 
| 
       10 
11 
     | 
    
         
             
              let(:tier_id) { 4 }
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
              describe 'offers' do
         
     | 
| 
         @@ -95,10 +96,33 @@ RSpec.describe 'ADDEDIT integration test' do 
     | 
|
| 
       95 
96 
     | 
    
         
             
                  result = subject.add_geo_targets(
         
     | 
| 
       96 
97 
     | 
    
         
             
                    offer_contract_id: offer_contract_id,
         
     | 
| 
       97 
98 
     | 
    
         
             
                    countries: %w(DE FR),
         
     | 
| 
       98 
     | 
    
         
            -
                     
     | 
| 
      
 99 
     | 
    
         
            +
                    allow_countries: true
         
     | 
| 
       99 
100 
     | 
    
         
             
                  )
         
     | 
| 
      
 101 
     | 
    
         
            +
                  expect(result).to include(success: true, row_count: '2')
         
     | 
| 
       100 
102 
     | 
    
         | 
| 
       101 
     | 
    
         
            -
                   
     | 
| 
      
 103 
     | 
    
         
            +
                  result = subject.add_geo_targets(
         
     | 
| 
      
 104 
     | 
    
         
            +
                    offer_contract_id: offer_contract_id,
         
     | 
| 
      
 105 
     | 
    
         
            +
                    countries: %w(AT CH),
         
     | 
| 
      
 106 
     | 
    
         
            +
                    redirects: {
         
     | 
| 
      
 107 
     | 
    
         
            +
                      'AT' => redirect_offer_contract_id,
         
     | 
| 
      
 108 
     | 
    
         
            +
                      'CH' => redirect_offer_contract_id,
         
     | 
| 
      
 109 
     | 
    
         
            +
                    },
         
     | 
| 
      
 110 
     | 
    
         
            +
                    allow_countries: false
         
     | 
| 
      
 111 
     | 
    
         
            +
                  )
         
     | 
| 
      
 112 
     | 
    
         
            +
                  expect(result).to include(success: true, row_count: '2')
         
     | 
| 
      
 113 
     | 
    
         
            +
                end
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
                it 'fails if it does not get a correct redirect hash' do
         
     | 
| 
      
 116 
     | 
    
         
            +
                  expect do
         
     | 
| 
      
 117 
     | 
    
         
            +
                    subject.add_geo_targets(
         
     | 
| 
      
 118 
     | 
    
         
            +
                      offer_contract_id: offer_contract_id,
         
     | 
| 
      
 119 
     | 
    
         
            +
                      redirects: {},
         
     | 
| 
      
 120 
     | 
    
         
            +
                      allow_countries: false
         
     | 
| 
      
 121 
     | 
    
         
            +
                    )
         
     | 
| 
      
 122 
     | 
    
         
            +
                  end.to raise_error(
         
     | 
| 
      
 123 
     | 
    
         
            +
                    SoapyCake::Error,
         
     | 
| 
      
 124 
     | 
    
         
            +
                    "Parameter 'redirects' must be a COUNTRY=>REDIRECT_OFFER_CONTRACT_ID hash!"
         
     | 
| 
      
 125 
     | 
    
         
            +
                  )
         
     | 
| 
       102 
126 
     | 
    
         
             
                end
         
     | 
| 
       103 
127 
     | 
    
         
             
              end
         
     | 
| 
       104 
128 
     | 
    
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -35,8 +35,8 @@ RSpec.configure do |config| 
     | 
|
| 
       35 
35 
     | 
    
         
             
              config.expose_dsl_globally = false
         
     | 
| 
       36 
36 
     | 
    
         
             
            end
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
            ENV['CAKE_API_KEY'] = ' 
     | 
| 
       39 
     | 
    
         
            -
            ENV['CAKE_DOMAIN'] = ' 
     | 
| 
      
 38 
     | 
    
         
            +
            ENV['CAKE_API_KEY'] = 'cake-api-key' if ENV['CAKE_API_KEY'].blank?
         
     | 
| 
      
 39 
     | 
    
         
            +
            ENV['CAKE_DOMAIN'] = 'cake-partner-domain.com' if ENV['CAKE_DOMAIN'].blank?
         
     | 
| 
       40 
40 
     | 
    
         
             
            ENV['CAKE_TIME_OFFSET'] = '1' if ENV['CAKE_TIME_OFFSET'].blank?
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
            VCR.configure do |c|
         
     | 
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.4.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: 2015-03- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-03-17 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: activesupport
         
     | 
| 
         @@ -228,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       228 
228 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       229 
229 
     | 
    
         
             
            requirements: []
         
     | 
| 
       230 
230 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       231 
     | 
    
         
            -
            rubygems_version: 2.4. 
     | 
| 
      
 231 
     | 
    
         
            +
            rubygems_version: 2.4.5
         
     | 
| 
       232 
232 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       233 
233 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       234 
234 
     | 
    
         
             
            summary: Simple client for the CAKE API
         
     |