commission_junction 1.8.0 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bae9d34f121c997545515282c9ff05fb25a24a4a
4
- data.tar.gz: 3ee56677421920706ceb322f6b038da241cb38d4
3
+ metadata.gz: 750c227b15e7e3f9bd1e9a6db340f498851bfeaf
4
+ data.tar.gz: 49a96c42d479e7e7027d0d6039c9b531984ebf7c
5
5
  SHA512:
6
- metadata.gz: dbb7d127f62de372d6aa32bbd6f0616ae0bb333e9e51c191da5c737f62532c33b8022897ea27a48f5f6089caa72a6aa51287acd4d2447860013ea8dbc32bd814
7
- data.tar.gz: 8ac81f01181cc6050141d66203134657bf8e47affede11bd4b617d5ed070238e6e45092d36767e1d74f5abb5cbef467f4f0646e1c76a55cdd14061a4bfc97d9a
6
+ metadata.gz: 0bcf73dda51f0bf74dd057493e581aaf3889b02f4c0a22abe9db769a51aff35070ab890a072183ad58d180951c8d3c56f536eb74eecafe10e89e543d605c7896
7
+ data.tar.gz: 03b7cfae4c2f13cf2e0ca180f72257521d25954e4feeaee42561df5aa3e16d49f0e09de3f14fa149e68a699759b4b204ce77b56df66adb5e72f0b1bcad73625e
@@ -1,3 +1,5 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.1
1
3
  Metrics/LineLength:
2
4
  Enabled: false
3
5
  Metrics/MethodLength:
@@ -6,3 +8,5 @@ Metrics/AbcSize:
6
8
  Enabled: false
7
9
  Metrics/ClassLength:
8
10
  Enabled: false
11
+ Style/EvalWithLocation:
12
+ Enabled: false
data/README.md CHANGED
@@ -4,7 +4,7 @@ Ruby wrapper for the Commission Junction web services APIs (REST)
4
4
 
5
5
  See https://cjcommunity.force.com/s/article/4777058.
6
6
 
7
- [![Gem Version](https://badge.fury.io/rb/commission_junction.png)](http://badge.fury.io/rb/commission_junction)
7
+ [![Gem Version](https://badge.fury.io/rb/commission_junction.svg)](https://badge.fury.io/rb/commission_junction)
8
8
 
9
9
  ## Installation
10
10
 
@@ -129,6 +129,7 @@ end
129
129
  * [Jean-Sebastien Boulanger](https://github.com/jsboulanger)
130
130
  * [luckyjazzbo](https://github.com/luckyjazzbo)
131
131
  * [samsaradog](https://github.com/samsaradog)
132
+ * [Sergii Konev](https://github.com/K-S-A)
132
133
 
133
134
  ## Copyright
134
135
 
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'commission_junction/version'
@@ -16,8 +15,10 @@ Gem::Specification.new do |gem|
16
15
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
17
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
17
  gem.require_paths = ['lib']
19
- gem.add_dependency 'httparty', '~> 0.13'
20
- gem.add_development_dependency 'minitest', '~> 0'
21
- gem.add_dependency 'ox', '~> 2.1'
18
+ gem.add_dependency 'httparty', '~> 0.15'
19
+ gem.add_dependency 'ox', '~> 2.8'
20
+ gem.add_development_dependency 'json', '~> 2.1'
21
+ gem.add_development_dependency 'minitest', '> 0'
22
22
  gem.license = 'BSD-3-Clause'
23
+ gem.required_ruby_version = '~> 2.1'
23
24
  end
@@ -33,7 +33,7 @@ class CommissionJunction
33
33
  raise ArgumentError, "You must supply your website ID.\nSee cj.com > Account > Web site Settings > PID" if website_id.empty?
34
34
  @website_id = website_id
35
35
 
36
- raise ArgumentError, "timeout must be a Fixnum; got #{timeout.class} instead" unless timeout.is_a?(Fixnum)
36
+ raise ArgumentError, "timeout must be a Integer; got #{timeout.class} instead" unless timeout.is_a?(Integer)
37
37
  raise ArgumentError, "timeout must be > 0; got #{timeout} instead" unless timeout > 0
38
38
  @timeout = timeout
39
39
 
@@ -57,20 +57,16 @@ class CommissionJunction
57
57
 
58
58
  @cj_objects = []
59
59
 
60
- begin
61
- response = self.class.get(WEB_SERVICE_URIS[:advertiser_lookup], query: params)
62
- advertisers = extract_contents(response, 'advertisers')
60
+ response = self.class.get(WEB_SERVICE_URIS[:advertiser_lookup], query: params)
61
+ advertisers = extract_contents(response, 'advertisers')
63
62
 
64
- @total_matched = advertisers['total_matched'].to_i
65
- @records_returned = advertisers['records_returned'].to_i
66
- @page_number = advertisers['page_number'].to_i
63
+ @total_matched = advertisers['total_matched'].to_i
64
+ @records_returned = advertisers['records_returned'].to_i
65
+ @page_number = advertisers['page_number'].to_i
67
66
 
68
- advertiser = advertisers['advertiser']
69
- advertiser = [advertiser] if advertiser.is_a?(Hash) # If we got exactly one result, put it in an array.
70
- advertiser.each { |item| @cj_objects << Advertiser.new(item) } if advertiser
71
- rescue Timeout::Error
72
- @total_matched = @records_returned = @page_number = 0
73
- end
67
+ advertiser = advertisers['advertiser']
68
+ advertiser = [advertiser] if advertiser.is_a?(Hash) # If we got exactly one result, put it in an array.
69
+ advertiser.each { |item| @cj_objects << Advertiser.new(item) } if advertiser
74
70
 
75
71
  @cj_objects
76
72
  end
@@ -86,20 +82,16 @@ class CommissionJunction
86
82
 
87
83
  @cj_objects = []
88
84
 
89
- begin
90
- response = self.class.get(WEB_SERVICE_URIS[:product_search], query: params, timeout: @timeout)
91
- products = extract_contents(response, 'products')
85
+ response = self.class.get(WEB_SERVICE_URIS[:product_search], query: params, timeout: @timeout)
86
+ products = extract_contents(response, 'products')
92
87
 
93
- @total_matched = products['total_matched'].to_i
94
- @records_returned = products['records_returned'].to_i
95
- @page_number = products['page_number'].to_i
88
+ @total_matched = products['total_matched'].to_i
89
+ @records_returned = products['records_returned'].to_i
90
+ @page_number = products['page_number'].to_i
96
91
 
97
- product = products['product']
98
- product = [product] if product.is_a?(Hash) # If we got exactly one result, put it in an array.
99
- product.each { |item| @cj_objects << Product.new(item) } if product
100
- rescue Timeout::Error
101
- @total_matched = @records_returned = @page_number = 0
102
- end
92
+ product = products['product']
93
+ product = [product] if product.is_a?(Hash) # If we got exactly one result, put it in an array.
94
+ product.each { |item| @cj_objects << Product.new(item) } if product
103
95
 
104
96
  @cj_objects
105
97
  end
@@ -115,20 +107,16 @@ class CommissionJunction
115
107
 
116
108
  @cj_objects = []
117
109
 
118
- begin
119
- response = self.class.get(WEB_SERVICE_URIS[:link_search], query: params, timeout: @timeout)
120
- links = extract_contents(response, 'links')
110
+ response = self.class.get(WEB_SERVICE_URIS[:link_search], query: params, timeout: @timeout)
111
+ links = extract_contents(response, 'links')
121
112
 
122
- @total_matched = links['total_matched'].to_i
123
- @records_returned = links['records_returned'].to_i
124
- @page_number = links['page_number'].to_i
113
+ @total_matched = links['total_matched'].to_i
114
+ @records_returned = links['records_returned'].to_i
115
+ @page_number = links['page_number'].to_i
125
116
 
126
- link = links['link']
127
- link = [link] if link.is_a?(Hash) # If we got exactly one result, put it in an array.
128
- link.each { |item| @cj_objects << Link.new(item) } if link
129
- rescue Timeout::Error
130
- @total_matched = @records_returned = @page_number = 0
131
- end
117
+ link = links['link']
118
+ link = [link] if link.is_a?(Hash) # If we got exactly one result, put it in an array.
119
+ link.each { |item| @cj_objects << Link.new(item) } if link
132
120
 
133
121
  @cj_objects
134
122
  end
@@ -140,20 +128,16 @@ class CommissionJunction
140
128
 
141
129
  @cj_objects = []
142
130
 
143
- begin
144
- response = self.class.get(WEB_SERVICE_URIS[:commissions], query: params)
145
- commissions = extract_contents(response, 'commissions')
131
+ response = self.class.get(WEB_SERVICE_URIS[:commissions], query: params)
132
+ commissions = extract_contents(response, 'commissions')
146
133
 
147
- @total_matched = commissions['total_matched'].to_i
148
- @records_returned = commissions['records_returned'].to_i
149
- @page_number = commissions['page_number'].to_i
134
+ @total_matched = commissions['total_matched'].to_i
135
+ @records_returned = commissions['records_returned'].to_i
136
+ @page_number = commissions['page_number'].to_i
150
137
 
151
- commission = commissions['commission']
152
- commission = [commission] if commission.is_a?(Hash) # If we got exactly one result, put it in an array.
153
- commission.each { |item| @cj_objects << Commission.new(item) } if commission
154
- rescue Timeout::Error
155
- @total_matched = @records_returned = @page_number = 0
156
- end
138
+ commission = commissions['commission']
139
+ commission = [commission] if commission.is_a?(Hash) # If we got exactly one result, put it in an array.
140
+ commission.each { |item| @cj_objects << Commission.new(item) } if commission
157
141
 
158
142
  @cj_objects
159
143
  end
@@ -167,14 +151,10 @@ class CommissionJunction
167
151
 
168
152
  @cj_objects = []
169
153
 
170
- begin
171
- ids = original_action_ids.join(',')
172
- response = self.class.get(WEB_SERVICE_URIS[:item_detail] + ids, query: "original-action-id=#{ids}")
173
- @cj_objects = extract_contents(response, 'item_details')
174
- @cj_objects = [@cj_objects] if @cj_objects.is_a?(Hash) # If we got exactly one result, put it in an array.
175
- rescue Timeout::Error
176
- @total_matched = @records_returned = @page_number = 0
177
- end
154
+ ids = original_action_ids.join(',')
155
+ response = self.class.get(WEB_SERVICE_URIS[:item_detail] + ids, query: "original-action-id=#{ids}")
156
+ @cj_objects = extract_contents(response, 'item_details')
157
+ @cj_objects = [@cj_objects] if @cj_objects.is_a?(Hash) # If we got exactly one result, put it in an array.
178
158
 
179
159
  @cj_objects
180
160
  end
@@ -1,3 +1,3 @@
1
1
  class CommissionJunction
2
- VERSION = '1.8.0'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
@@ -189,9 +189,9 @@ class CommissionJunctionTest < Minitest::Test
189
189
  end
190
190
 
191
191
  def check_search_results(results)
192
- assert_instance_of(Fixnum, results.total_matched)
193
- assert_instance_of(Fixnum, results.records_returned)
194
- assert_instance_of(Fixnum, results.page_number)
192
+ assert_instance_of(Integer, results.total_matched)
193
+ assert_instance_of(Integer, results.records_returned)
194
+ assert_instance_of(Integer, results.page_number)
195
195
  assert_instance_of(Array, results.cj_objects)
196
196
 
197
197
  results.cj_objects.each do |product|
@@ -256,9 +256,9 @@ class CommissionJunctionTest < Minitest::Test
256
256
  end
257
257
 
258
258
  def check_advertiser_lookup_results(results)
259
- assert_instance_of(Fixnum, results.total_matched)
260
- assert_instance_of(Fixnum, results.records_returned)
261
- assert_instance_of(Fixnum, results.page_number)
259
+ assert_instance_of(Integer, results.total_matched)
260
+ assert_instance_of(Integer, results.records_returned)
261
+ assert_instance_of(Integer, results.page_number)
262
262
  assert_instance_of(Array, results.cj_objects)
263
263
 
264
264
  results.cj_objects.each do |advertiser|
@@ -308,9 +308,9 @@ class CommissionJunctionTest < Minitest::Test
308
308
  end
309
309
 
310
310
  def check_commission_lookup_results(results)
311
- assert_instance_of(Fixnum, results.total_matched)
312
- assert_instance_of(Fixnum, results.records_returned)
313
- assert_instance_of(Fixnum, results.page_number)
311
+ assert_instance_of(Integer, results.total_matched)
312
+ assert_instance_of(Integer, results.records_returned)
313
+ assert_instance_of(Integer, results.page_number)
314
314
  assert_instance_of(Array, results.cj_objects)
315
315
 
316
316
  results.cj_objects.each do |commission|
@@ -427,9 +427,9 @@ class CommissionJunctionTest < Minitest::Test
427
427
  end
428
428
 
429
429
  def check_link_search_results(results)
430
- assert_instance_of(Fixnum, results.total_matched)
431
- assert_instance_of(Fixnum, results.records_returned)
432
- assert_instance_of(Fixnum, results.page_number)
430
+ assert_instance_of(Integer, results.total_matched)
431
+ assert_instance_of(Integer, results.records_returned)
432
+ assert_instance_of(Integer, results.page_number)
433
433
  assert_instance_of(Array, results.cj_objects)
434
434
 
435
435
  results.cj_objects.each do |link|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commission_junction
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Albert Vernon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-21 00:00:00.000000000 Z
11
+ date: 2018-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -16,42 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
19
+ version: '0.15'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.13'
26
+ version: '0.15'
27
27
  - !ruby/object:Gem::Dependency
28
- name: minitest
28
+ name: ox
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
33
+ version: '2.8'
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2.8'
41
41
  - !ruby/object:Gem::Dependency
42
- name: ox
42
+ name: json
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '2.1'
48
- type: :runtime
48
+ type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: Ruby wrapper for the Commission Junction web services APIs (REST)
56
70
  email: aev@vernon.nu
57
71
  executables: []
@@ -79,9 +93,9 @@ require_paths:
79
93
  - lib
80
94
  required_ruby_version: !ruby/object:Gem::Requirement
81
95
  requirements:
82
- - - ">="
96
+ - - "~>"
83
97
  - !ruby/object:Gem::Version
84
- version: '0'
98
+ version: '2.1'
85
99
  required_rubygems_version: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -89,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
103
  version: '0'
90
104
  requirements: []
91
105
  rubyforge_project:
92
- rubygems_version: 2.4.8
106
+ rubygems_version: 2.6.14
93
107
  signing_key:
94
108
  specification_version: 4
95
109
  summary: Commission Junction web services APIs (REST)