adzerk_decision_sdk 1.0.0.pre.beta.2 → 1.0.0.pre.beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +8 -10
  4. data/README.md +44 -4
  5. data/adzerk_decision_sdk.gemspec +3 -4
  6. data/docs/ConsentRequest.md +10 -9
  7. data/docs/Content.md +16 -15
  8. data/docs/Decision.md +28 -25
  9. data/docs/DecisionApi.md +30 -13
  10. data/docs/DecisionRequest.md +44 -33
  11. data/docs/DecisionResponse.md +12 -11
  12. data/docs/Event.md +10 -9
  13. data/docs/MatchedPoint.md +20 -0
  14. data/docs/Placement.md +46 -37
  15. data/docs/PricingData.md +16 -15
  16. data/docs/RequestLocation.md +19 -0
  17. data/docs/User.md +8 -7
  18. data/docs/UserdbApi.md +252 -140
  19. data/lib/adzerk_decision_sdk.rb +1 -1
  20. data/lib/adzerk_decision_sdk/api/decision_api.rb +5 -4
  21. data/lib/adzerk_decision_sdk/api/userdb_api.rb +37 -95
  22. data/lib/adzerk_decision_sdk/api_client.rb +50 -46
  23. data/lib/adzerk_decision_sdk/api_error.rb +1 -1
  24. data/lib/adzerk_decision_sdk/client.rb +2 -2
  25. data/lib/adzerk_decision_sdk/configuration.rb +39 -10
  26. data/lib/adzerk_decision_sdk/decision_client.rb +12 -1
  27. data/lib/adzerk_decision_sdk/models/consent_request.rb +19 -7
  28. data/lib/adzerk_decision_sdk/models/content.rb +20 -8
  29. data/lib/adzerk_decision_sdk/models/decision.rb +31 -8
  30. data/lib/adzerk_decision_sdk/models/decision_request.rb +74 -12
  31. data/lib/adzerk_decision_sdk/models/decision_response.rb +19 -7
  32. data/lib/adzerk_decision_sdk/models/event.rb +19 -7
  33. data/lib/adzerk_decision_sdk/models/matched_point.rb +227 -0
  34. data/lib/adzerk_decision_sdk/models/placement.rb +91 -12
  35. data/lib/adzerk_decision_sdk/models/pricing_data.rb +19 -7
  36. data/lib/adzerk_decision_sdk/models/{decision_data.rb → request_location.rb} +17 -44
  37. data/lib/adzerk_decision_sdk/models/user.rb +19 -7
  38. data/lib/adzerk_decision_sdk/pixel_client.rb +8 -2
  39. data/lib/adzerk_decision_sdk/user_db_client.rb +16 -2
  40. data/lib/adzerk_decision_sdk/version.rb +2 -2
  41. data/spec/spec_helper.rb +91 -0
  42. metadata +15 -33
  43. data/docs/DecisionData.md +0 -25
  44. data/pkg/adzerk_decision_sdk-1.0.0.gem +0 -0
  45. data/pkg/adzerk_decision_sdk-1.0.0.pre.beta.1.gem +0 -0
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 5.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module AdzerkDecisionSdk
16
17
  class Placement
@@ -62,6 +63,15 @@ module AdzerkDecisionSdk
62
63
  # (BETA) The name of the eCPM Partition that should be used to source eCPM data for auctions
63
64
  attr_accessor :ecpm_partition
64
65
 
66
+ # (BETA) The names of the eCPM Partitions that should be used to source eCPM data for auctions
67
+ attr_accessor :ecpm_partitions
68
+
69
+ attr_accessor :event_multiplier
70
+
71
+ attr_accessor :skip_selection
72
+
73
+ attr_accessor :ad_query
74
+
65
75
  # Attribute mapping from ruby-style variable name to JSON key.
66
76
  def self.attribute_map
67
77
  {
@@ -80,10 +90,19 @@ module AdzerkDecisionSdk
80
90
  :'content_keys' => :'contentKeys',
81
91
  :'count' => :'count',
82
92
  :'proportionality' => :'proportionality',
83
- :'ecpm_partition' => :'ecpmPartition'
93
+ :'ecpm_partition' => :'ecpmPartition',
94
+ :'ecpm_partitions' => :'ecpmPartitions',
95
+ :'event_multiplier' => :'eventMultiplier',
96
+ :'skip_selection' => :'skipSelection',
97
+ :'ad_query' => :'adQuery'
84
98
  }
85
99
  end
86
100
 
101
+ # Returns all the JSON keys this model knows about
102
+ def self.acceptable_attributes
103
+ attribute_map.values
104
+ end
105
+
87
106
  # Attribute type mapping.
88
107
  def self.openapi_types
89
108
  {
@@ -102,7 +121,11 @@ module AdzerkDecisionSdk
102
121
  :'content_keys' => :'Hash<String, Integer>',
103
122
  :'count' => :'Integer',
104
123
  :'proportionality' => :'Boolean',
105
- :'ecpm_partition' => :'String'
124
+ :'ecpm_partition' => :'String',
125
+ :'ecpm_partitions' => :'Array<String>',
126
+ :'event_multiplier' => :'Integer',
127
+ :'skip_selection' => :'Boolean',
128
+ :'ad_query' => :'Object'
106
129
  }
107
130
  end
108
131
 
@@ -120,7 +143,11 @@ module AdzerkDecisionSdk
120
143
  :'content_keys',
121
144
  :'count',
122
145
  :'proportionality',
123
- :'ecpm_partition'
146
+ :'ecpm_partition',
147
+ :'ecpm_partitions',
148
+ :'event_multiplier',
149
+ :'skip_selection',
150
+ :'ad_query'
124
151
  ])
125
152
  end
126
153
 
@@ -210,21 +237,63 @@ module AdzerkDecisionSdk
210
237
  if attributes.key?(:'ecpm_partition')
211
238
  self.ecpm_partition = attributes[:'ecpm_partition']
212
239
  end
240
+
241
+ if attributes.key?(:'ecpm_partitions')
242
+ if (value = attributes[:'ecpm_partitions']).is_a?(Array)
243
+ self.ecpm_partitions = value
244
+ end
245
+ end
246
+
247
+ if attributes.key?(:'event_multiplier')
248
+ self.event_multiplier = attributes[:'event_multiplier']
249
+ end
250
+
251
+ if attributes.key?(:'skip_selection')
252
+ self.skip_selection = attributes[:'skip_selection']
253
+ end
254
+
255
+ if attributes.key?(:'ad_query')
256
+ self.ad_query = attributes[:'ad_query']
257
+ end
213
258
  end
214
259
 
215
260
  # Show invalid properties with the reasons. Usually used together with valid?
216
261
  # @return Array for valid properties with the reasons
217
262
  def list_invalid_properties
218
263
  invalid_properties = Array.new
264
+ if !@event_multiplier.nil? && @event_multiplier > 100000000
265
+ invalid_properties.push('invalid value for "event_multiplier", must be smaller than or equal to 100000000.')
266
+ end
267
+
268
+ if !@event_multiplier.nil? && @event_multiplier < -100000000
269
+ invalid_properties.push('invalid value for "event_multiplier", must be greater than or equal to -100000000.')
270
+ end
271
+
219
272
  invalid_properties
220
273
  end
221
274
 
222
275
  # Check to see if the all the properties in the model are valid
223
276
  # @return true if the model is valid
224
277
  def valid?
278
+ return false if !@event_multiplier.nil? && @event_multiplier > 100000000
279
+ return false if !@event_multiplier.nil? && @event_multiplier < -100000000
225
280
  true
226
281
  end
227
282
 
283
+ # Custom attribute writer method with validation
284
+ # @param [Object] event_multiplier Value to be assigned
285
+ def event_multiplier=(event_multiplier)
286
+ if !event_multiplier.nil? && event_multiplier > 100000000
287
+ fail ArgumentError, 'invalid value for "event_multiplier", must be smaller than or equal to 100000000.'
288
+ end
289
+
290
+ if !event_multiplier.nil? && event_multiplier < -100000000
291
+ fail ArgumentError, 'invalid value for "event_multiplier", must be greater than or equal to -100000000.'
292
+ end
293
+
294
+ @event_multiplier = event_multiplier
295
+ end
296
+
228
297
  # Checks equality by comparing each attribute.
229
298
  # @param [Object] Object to be compared
230
299
  def ==(o)
@@ -245,7 +314,11 @@ module AdzerkDecisionSdk
245
314
  content_keys == o.content_keys &&
246
315
  count == o.count &&
247
316
  proportionality == o.proportionality &&
248
- ecpm_partition == o.ecpm_partition
317
+ ecpm_partition == o.ecpm_partition &&
318
+ ecpm_partitions == o.ecpm_partitions &&
319
+ event_multiplier == o.event_multiplier &&
320
+ skip_selection == o.skip_selection &&
321
+ ad_query == o.ad_query
249
322
  end
250
323
 
251
324
  # @see the `==` method
@@ -257,7 +330,7 @@ module AdzerkDecisionSdk
257
330
  # Calculates hash code according to all attributes.
258
331
  # @return [Integer] Hash code
259
332
  def hash
260
- [div_name, network_id, site_id, ad_types, zone_ids, campaign_id, flight_id, ad_id, click_url, properties, event_ids, overrides, content_keys, count, proportionality, ecpm_partition].hash
333
+ [div_name, network_id, site_id, ad_types, zone_ids, campaign_id, flight_id, ad_id, click_url, properties, event_ids, overrides, content_keys, count, proportionality, ecpm_partition, ecpm_partitions, event_multiplier, skip_selection, ad_query].hash
261
334
  end
262
335
 
263
336
  # Builds the object from hash
@@ -273,7 +346,9 @@ module AdzerkDecisionSdk
273
346
  def build_from_hash(attributes)
274
347
  return nil unless attributes.is_a?(Hash)
275
348
  self.class.openapi_types.each_pair do |key, type|
276
- if type =~ /\AArray<(.*)>/i
349
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
350
+ self.send("#{key}=", nil)
351
+ elsif type =~ /\AArray<(.*)>/i
277
352
  # check to ensure the input is an array given that the attribute
278
353
  # is documented as an array but the input is not
279
354
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -281,7 +356,7 @@ module AdzerkDecisionSdk
281
356
  end
282
357
  elsif !attributes[self.class.attribute_map[key]].nil?
283
358
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
284
- end # or else data not found in attributes(hash), not an issue as the data can be optional
359
+ end
285
360
  end
286
361
 
287
362
  self
@@ -293,8 +368,8 @@ module AdzerkDecisionSdk
293
368
  # @return [Object] Deserialized data
294
369
  def _deserialize(type, value)
295
370
  case type.to_sym
296
- when :DateTime
297
- DateTime.parse(value)
371
+ when :Time
372
+ Time.parse(value)
298
373
  when :Date
299
374
  Date.parse(value)
300
375
  when :String
@@ -324,7 +399,9 @@ module AdzerkDecisionSdk
324
399
  end
325
400
  end
326
401
  else # model
327
- AdzerkDecisionSdk.const_get(type).build_from_hash(value)
402
+ # models (e.g. Pet) or oneOf
403
+ klass = AdzerkDecisionSdk.const_get(type)
404
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
328
405
  end
329
406
  end
330
407
 
@@ -350,7 +427,7 @@ module AdzerkDecisionSdk
350
427
  is_nullable = self.class.openapi_nullable.include?(attr)
351
428
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
352
429
  end
353
-
430
+
354
431
  hash[param] = _to_hash(value)
355
432
  end
356
433
  hash
@@ -373,5 +450,7 @@ module AdzerkDecisionSdk
373
450
  value
374
451
  end
375
452
  end
453
+
376
454
  end
455
+
377
456
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 5.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module AdzerkDecisionSdk
16
17
  class PricingData
@@ -35,6 +36,11 @@ module AdzerkDecisionSdk
35
36
  }
36
37
  end
37
38
 
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ attribute_map.values
42
+ end
43
+
38
44
  # Attribute type mapping.
39
45
  def self.openapi_types
40
46
  {
@@ -138,7 +144,9 @@ module AdzerkDecisionSdk
138
144
  def build_from_hash(attributes)
139
145
  return nil unless attributes.is_a?(Hash)
140
146
  self.class.openapi_types.each_pair do |key, type|
141
- if type =~ /\AArray<(.*)>/i
147
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
148
+ self.send("#{key}=", nil)
149
+ elsif type =~ /\AArray<(.*)>/i
142
150
  # check to ensure the input is an array given that the attribute
143
151
  # is documented as an array but the input is not
144
152
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -146,7 +154,7 @@ module AdzerkDecisionSdk
146
154
  end
147
155
  elsif !attributes[self.class.attribute_map[key]].nil?
148
156
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
149
- end # or else data not found in attributes(hash), not an issue as the data can be optional
157
+ end
150
158
  end
151
159
 
152
160
  self
@@ -158,8 +166,8 @@ module AdzerkDecisionSdk
158
166
  # @return [Object] Deserialized data
159
167
  def _deserialize(type, value)
160
168
  case type.to_sym
161
- when :DateTime
162
- DateTime.parse(value)
169
+ when :Time
170
+ Time.parse(value)
163
171
  when :Date
164
172
  Date.parse(value)
165
173
  when :String
@@ -189,7 +197,9 @@ module AdzerkDecisionSdk
189
197
  end
190
198
  end
191
199
  else # model
192
- AdzerkDecisionSdk.const_get(type).build_from_hash(value)
200
+ # models (e.g. Pet) or oneOf
201
+ klass = AdzerkDecisionSdk.const_get(type)
202
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
193
203
  end
194
204
  end
195
205
 
@@ -215,7 +225,7 @@ module AdzerkDecisionSdk
215
225
  is_nullable = self.class.openapi_nullable.include?(attr)
216
226
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
217
227
  end
218
-
228
+
219
229
  hash[param] = _to_hash(value)
220
230
  end
221
231
  hash
@@ -238,5 +248,7 @@ module AdzerkDecisionSdk
238
248
  value
239
249
  end
240
250
  end
251
+
241
252
  end
253
+
242
254
  end
@@ -6,43 +6,31 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
14
 
15
15
  module AdzerkDecisionSdk
16
- class DecisionData
17
- attr_accessor :image_url
16
+ class RequestLocation
17
+ attr_accessor :latitude
18
18
 
19
- attr_accessor :title
20
-
21
- attr_accessor :width
22
-
23
- attr_accessor :height
24
-
25
- attr_accessor :custom_data
19
+ attr_accessor :longitude
26
20
 
27
21
  # Attribute mapping from ruby-style variable name to JSON key.
28
22
  def self.attribute_map
29
23
  {
30
- :'image_url' => :'imageURL',
31
- :'title' => :'title',
32
- :'width' => :'width',
33
- :'height' => :'height',
34
- :'custom_data' => :'customData'
24
+ :'latitude' => :'latitude',
25
+ :'longitude' => :'longitude'
35
26
  }
36
27
  end
37
28
 
38
29
  # Attribute type mapping.
39
30
  def self.openapi_types
40
31
  {
41
- :'image_url' => :'String',
42
- :'title' => :'String',
43
- :'width' => :'Integer',
44
- :'height' => :'Integer',
45
- :'custom_data' => :'Object'
32
+ :'latitude' => :'String',
33
+ :'longitude' => :'String'
46
34
  }
47
35
  end
48
36
 
@@ -56,35 +44,23 @@ module AdzerkDecisionSdk
56
44
  # @param [Hash] attributes Model attributes in the form of hash
57
45
  def initialize(attributes = {})
58
46
  if (!attributes.is_a?(Hash))
59
- fail ArgumentError, "The input argument (attributes) must be a hash in `AdzerkDecisionSdk::DecisionData` initialize method"
47
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AdzerkDecisionSdk::RequestLocation` initialize method"
60
48
  end
61
49
 
62
50
  # check to see if the attribute exists and convert string to symbol for hash key
63
51
  attributes = attributes.each_with_object({}) { |(k, v), h|
64
52
  if (!self.class.attribute_map.key?(k.to_sym))
65
- fail ArgumentError, "`#{k}` is not a valid attribute in `AdzerkDecisionSdk::DecisionData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
53
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AdzerkDecisionSdk::RequestLocation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
54
  end
67
55
  h[k.to_sym] = v
68
56
  }
69
57
 
70
- if attributes.key?(:'image_url')
71
- self.image_url = attributes[:'image_url']
72
- end
73
-
74
- if attributes.key?(:'title')
75
- self.title = attributes[:'title']
76
- end
77
-
78
- if attributes.key?(:'width')
79
- self.width = attributes[:'width']
80
- end
81
-
82
- if attributes.key?(:'height')
83
- self.height = attributes[:'height']
58
+ if attributes.key?(:'latitude')
59
+ self.latitude = attributes[:'latitude']
84
60
  end
85
61
 
86
- if attributes.key?(:'custom_data')
87
- self.custom_data = attributes[:'custom_data']
62
+ if attributes.key?(:'longitude')
63
+ self.longitude = attributes[:'longitude']
88
64
  end
89
65
  end
90
66
 
@@ -106,11 +82,8 @@ module AdzerkDecisionSdk
106
82
  def ==(o)
107
83
  return true if self.equal?(o)
108
84
  self.class == o.class &&
109
- image_url == o.image_url &&
110
- title == o.title &&
111
- width == o.width &&
112
- height == o.height &&
113
- custom_data == o.custom_data
85
+ latitude == o.latitude &&
86
+ longitude == o.longitude
114
87
  end
115
88
 
116
89
  # @see the `==` method
@@ -122,7 +95,7 @@ module AdzerkDecisionSdk
122
95
  # Calculates hash code according to all attributes.
123
96
  # @return [Integer] Hash code
124
97
  def hash
125
- [image_url, title, width, height, custom_data].hash
98
+ [latitude, longitude].hash
126
99
  end
127
100
 
128
101
  # Builds the object from hash
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.3
9
+ OpenAPI Generator version: 5.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module AdzerkDecisionSdk
16
17
  # Object containing the UserKey used for [UserDB targeting](https://dev.adzerk.com/docs/userdb-1)
@@ -25,6 +26,11 @@ module AdzerkDecisionSdk
25
26
  }
26
27
  end
27
28
 
29
+ # Returns all the JSON keys this model knows about
30
+ def self.acceptable_attributes
31
+ attribute_map.values
32
+ end
33
+
28
34
  # Attribute type mapping.
29
35
  def self.openapi_types
30
36
  {
@@ -104,7 +110,9 @@ module AdzerkDecisionSdk
104
110
  def build_from_hash(attributes)
105
111
  return nil unless attributes.is_a?(Hash)
106
112
  self.class.openapi_types.each_pair do |key, type|
107
- if type =~ /\AArray<(.*)>/i
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
108
116
  # check to ensure the input is an array given that the attribute
109
117
  # is documented as an array but the input is not
110
118
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -112,7 +120,7 @@ module AdzerkDecisionSdk
112
120
  end
113
121
  elsif !attributes[self.class.attribute_map[key]].nil?
114
122
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
115
- end # or else data not found in attributes(hash), not an issue as the data can be optional
123
+ end
116
124
  end
117
125
 
118
126
  self
@@ -124,8 +132,8 @@ module AdzerkDecisionSdk
124
132
  # @return [Object] Deserialized data
125
133
  def _deserialize(type, value)
126
134
  case type.to_sym
127
- when :DateTime
128
- DateTime.parse(value)
135
+ when :Time
136
+ Time.parse(value)
129
137
  when :Date
130
138
  Date.parse(value)
131
139
  when :String
@@ -155,7 +163,9 @@ module AdzerkDecisionSdk
155
163
  end
156
164
  end
157
165
  else # model
158
- AdzerkDecisionSdk.const_get(type).build_from_hash(value)
166
+ # models (e.g. Pet) or oneOf
167
+ klass = AdzerkDecisionSdk.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
159
169
  end
160
170
  end
161
171
 
@@ -181,7 +191,7 @@ module AdzerkDecisionSdk
181
191
  is_nullable = self.class.openapi_nullable.include?(attr)
182
192
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
193
  end
184
-
194
+
185
195
  hash[param] = _to_hash(value)
186
196
  end
187
197
  hash
@@ -204,5 +214,7 @@ module AdzerkDecisionSdk
204
214
  value
205
215
  end
206
216
  end
217
+
207
218
  end
219
+
208
220
  end