adzerk_decision_sdk 1.0.0.pre.beta.1 → 1.0.0.pre.beta.6

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +6 -6
  4. data/README.md +28 -2
  5. data/adzerk_decision_sdk.gemspec +1 -1
  6. data/docs/Content.md +1 -1
  7. data/docs/Decision.md +2 -0
  8. data/docs/DecisionRequest.md +9 -1
  9. data/docs/MatchedPoint.md +19 -0
  10. data/docs/Placement.md +9 -1
  11. data/docs/RequestLocation.md +19 -0
  12. data/docs/UserdbApi.md +0 -49
  13. data/lib/adzerk_decision_sdk.rb +1 -1
  14. data/lib/adzerk_decision_sdk/api/decision_api.rb +1 -1
  15. data/lib/adzerk_decision_sdk/api/userdb_api.rb +1 -68
  16. data/lib/adzerk_decision_sdk/api_client.rb +8 -6
  17. data/lib/adzerk_decision_sdk/api_error.rb +1 -1
  18. data/lib/adzerk_decision_sdk/client.rb +2 -2
  19. data/lib/adzerk_decision_sdk/configuration.rb +1 -1
  20. data/lib/adzerk_decision_sdk/decision_client.rb +21 -10
  21. data/lib/adzerk_decision_sdk/models/consent_request.rb +1 -1
  22. data/lib/adzerk_decision_sdk/models/content.rb +2 -2
  23. data/lib/adzerk_decision_sdk/models/decision.rb +13 -2
  24. data/lib/adzerk_decision_sdk/models/decision_request.rb +46 -6
  25. data/lib/adzerk_decision_sdk/models/decision_response.rb +1 -1
  26. data/lib/adzerk_decision_sdk/models/event.rb +1 -1
  27. data/lib/adzerk_decision_sdk/models/{decision_data.rb → matched_point.rb} +17 -44
  28. data/lib/adzerk_decision_sdk/models/placement.rb +73 -6
  29. data/lib/adzerk_decision_sdk/models/pricing_data.rb +1 -1
  30. data/lib/adzerk_decision_sdk/models/request_location.rb +215 -0
  31. data/lib/adzerk_decision_sdk/models/user.rb +1 -1
  32. data/lib/adzerk_decision_sdk/pixel_client.rb +8 -2
  33. data/lib/adzerk_decision_sdk/user_db_client.rb +16 -2
  34. data/lib/adzerk_decision_sdk/version.rb +2 -2
  35. data/pkg/adzerk_decision_sdk-1.0.0.pre.beta.3.gem +0 -0
  36. metadata +7 -5
  37. data/docs/DecisionData.md +0 -25
  38. data/pkg/adzerk_decision_sdk-1.0.0.gem +0 -0
@@ -6,7 +6,7 @@
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
 
@@ -36,8 +36,8 @@ module AdzerkDecisionSdk
36
36
  api_client.default_headers['X-Adzerk-Sdk-Version'] = "adzerk-decision-sdk-ruby:#{version}"
37
37
 
38
38
  @decisions = DecisionClient.new(network_id, site_id, api_client, configuration.logger)
39
- @user_db = UserDbClient.new(network_id, api_client)
40
- @pixels = PixelClient.new(api_client)
39
+ @user_db = UserDbClient.new(network_id, api_client, configuration.logger)
40
+ @pixels = PixelClient.new(api_client, configuration.logger)
41
41
  end
42
42
  end
43
43
  end
@@ -6,7 +6,7 @@
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
 
@@ -2,11 +2,13 @@ require 'adzerk_decision_sdk/api/decision_api'
2
2
 
3
3
  module AdzerkDecisionSdk
4
4
  class DecisionClient
5
+
5
6
  def initialize(network_id, site_id, api_client, logger)
6
7
  @network_id = network_id
7
8
  @site_id = site_id
8
9
  @api = DecisionApi.new(api_client)
9
10
  @logger = logger
11
+ @deprecated_placement_fields = [[:ecpm_partition, 'ecpm_partitions']]
10
12
  end
11
13
 
12
14
  def get(request, opts = {})
@@ -18,14 +20,22 @@ module AdzerkDecisionSdk
18
20
 
19
21
  opts[:body][:enableBotFiltering] = false if not opts[:body].has_key?(:enableBotFiltering)
20
22
 
21
- if !opts[:body].has_key?(:placements) or !opts[:body][:placements] or !opts[:body][:placements].length() == 0
23
+ if !opts[:body].has_key?(:placements) or !opts[:body][:placements] or opts[:body][:placements].length() == 0
22
24
  fail ArgumentError, "Each request requires at least one placement"
23
25
  end
24
26
 
25
27
  opts[:body][:placements].each_with_index do |placement, idx|
26
- if !placement.has_key?(:adTypes) or !placements[:adTypes] or placement[:adTypes].length() == 0
28
+ if !placement.has_key?(:adTypes) or !placement[:adTypes] or placement[:adTypes].length() == 0
27
29
  fail ArgumentError, "Each placement needs at least one ad type"
28
30
  end
31
+
32
+ @deprecated_placement_fields.each do |pair|
33
+ deprecated_field, replacement = pair
34
+ if placement.has_key?(deprecated_field) and !placement[deprecated_field].nil?
35
+ @logger.warn("DEPRECATION WARNING: #{deprecated_field} has been deprecated. Please use #{replacement} instead.")
36
+ end
37
+ end
38
+
29
39
  placement[:networkId] = @network_id if not placement.has_key?(:networkId)
30
40
  placement[:siteId] = @site_id if not placement.has_key?(:siteId)
31
41
  placement[:divName] = "div#{idx}" if not placement.has_key?(:divName)
@@ -35,13 +45,13 @@ module AdzerkDecisionSdk
35
45
 
36
46
  if opts.has_key?(:include_explanation) and opts[:include_explanation] == true
37
47
  header_params['X-Adzerk-Explain'] = opts[:api_key]
38
- @logger.info("--------------------------------------------------------------")
39
- @logger.info(" !!! WARNING - WARNING - WARNING !!! ")
40
- @logger.info("")
41
- @logger.info("You have opted to include explainer details with this request!")
42
- @logger.info("This will cause performance degradation and should not be done")
43
- @logger.info("in production environments.")
44
- @logger.info("--------------------------------------------------------------")
48
+ @logger.warn("--------------------------------------------------------------")
49
+ @logger.warn(" !!! WARNING - WARNING - WARNING !!! ")
50
+ @logger.warn("")
51
+ @logger.warn("You have opted to include explainer details with this request!")
52
+ @logger.warn("This will cause performance degradation and should not be done")
53
+ @logger.warn("in production environments.")
54
+ @logger.warn("--------------------------------------------------------------")
45
55
  end
46
56
 
47
57
  opts[:header_params] = header_params
@@ -50,9 +60,10 @@ module AdzerkDecisionSdk
50
60
  @logger.info("Requesting with headers: #{opts[:header_params]}")
51
61
 
52
62
  response = @api.get_decisions(opts)
63
+ @logger.info("Received response: #{response}")
53
64
 
54
65
  parsed_response = parse_response(response)
55
- @logger.info("Recieved response: #{parsed_response}")
66
+ @logger.info("Parsed response: #{parsed_response}")
56
67
 
57
68
  return parsed_response
58
69
  end
@@ -6,7 +6,7 @@
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
 
@@ -6,7 +6,7 @@
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
 
@@ -41,7 +41,7 @@ module AdzerkDecisionSdk
41
41
  :'type' => :'String',
42
42
  :'template' => :'String',
43
43
  :'custom_template' => :'String',
44
- :'data' => :'DecisionData',
44
+ :'data' => :'Object',
45
45
  :'body' => :'String'
46
46
  }
47
47
  end
@@ -6,7 +6,7 @@
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
 
@@ -32,6 +32,8 @@ module AdzerkDecisionSdk
32
32
 
33
33
  attr_accessor :events
34
34
 
35
+ attr_accessor :matched_points
36
+
35
37
  attr_accessor :pricing
36
38
 
37
39
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -46,6 +48,7 @@ module AdzerkDecisionSdk
46
48
  :'contents' => :'contents',
47
49
  :'impression_url' => :'impressionUrl',
48
50
  :'events' => :'events',
51
+ :'matched_points' => :'matchedPoints',
49
52
  :'pricing' => :'pricing'
50
53
  }
51
54
  end
@@ -62,6 +65,7 @@ module AdzerkDecisionSdk
62
65
  :'contents' => :'Array<Content>',
63
66
  :'impression_url' => :'String',
64
67
  :'events' => :'Array<Event>',
68
+ :'matched_points' => :'Array<MatchedPoint>',
65
69
  :'pricing' => :'PricingData'
66
70
  }
67
71
  end
@@ -127,6 +131,12 @@ module AdzerkDecisionSdk
127
131
  end
128
132
  end
129
133
 
134
+ if attributes.key?(:'matched_points')
135
+ if (value = attributes[:'matched_points']).is_a?(Array)
136
+ self.matched_points = value
137
+ end
138
+ end
139
+
130
140
  if attributes.key?(:'pricing')
131
141
  self.pricing = attributes[:'pricing']
132
142
  end
@@ -159,6 +169,7 @@ module AdzerkDecisionSdk
159
169
  contents == o.contents &&
160
170
  impression_url == o.impression_url &&
161
171
  events == o.events &&
172
+ matched_points == o.matched_points &&
162
173
  pricing == o.pricing
163
174
  end
164
175
 
@@ -171,7 +182,7 @@ module AdzerkDecisionSdk
171
182
  # Calculates hash code according to all attributes.
172
183
  # @return [Integer] Hash code
173
184
  def hash
174
- [ad_id, creative_id, flight_id, campaign_id, priority_id, click_url, contents, impression_url, events, pricing].hash
185
+ [ad_id, creative_id, flight_id, campaign_id, priority_id, click_url, contents, impression_url, events, matched_points, pricing].hash
175
186
  end
176
187
 
177
188
  # Builds the object from hash
@@ -6,7 +6,7 @@
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
 
@@ -55,6 +55,14 @@ module AdzerkDecisionSdk
55
55
  # RTB requests only - sets an Identifier for Advertisers (IFA or IDFA)
56
56
  attr_accessor :device_id
57
57
 
58
+ attr_accessor :parallel
59
+
60
+ attr_accessor :intended_latitude
61
+
62
+ attr_accessor :intended_longitude
63
+
64
+ attr_accessor :include_matched_points
65
+
58
66
  # Attribute mapping from ruby-style variable name to JSON key.
59
67
  def self.attribute_map
60
68
  {
@@ -71,7 +79,11 @@ module AdzerkDecisionSdk
71
79
  :'enable_bot_filtering' => :'enableBotFiltering',
72
80
  :'enable_user_dbip' => :'enableUserDBIP',
73
81
  :'consent' => :'consent',
74
- :'device_id' => :'deviceID'
82
+ :'device_id' => :'deviceID',
83
+ :'parallel' => :'parallel',
84
+ :'intended_latitude' => :'intendedLatitude',
85
+ :'intended_longitude' => :'intendedLongitude',
86
+ :'include_matched_points' => :'includeMatchedPoints'
75
87
  }
76
88
  end
77
89
 
@@ -91,7 +103,11 @@ module AdzerkDecisionSdk
91
103
  :'enable_bot_filtering' => :'Boolean',
92
104
  :'enable_user_dbip' => :'Boolean',
93
105
  :'consent' => :'Object',
94
- :'device_id' => :'String'
106
+ :'device_id' => :'String',
107
+ :'parallel' => :'Boolean',
108
+ :'intended_latitude' => :'String',
109
+ :'intended_longitude' => :'String',
110
+ :'include_matched_points' => :'Boolean'
95
111
  }
96
112
  end
97
113
 
@@ -109,7 +125,11 @@ module AdzerkDecisionSdk
109
125
  :'enable_bot_filtering',
110
126
  :'enable_user_dbip',
111
127
  :'consent',
112
- :'device_id'
128
+ :'device_id',
129
+ :'parallel',
130
+ :'intended_latitude',
131
+ :'intended_longitude',
132
+ :'include_matched_points'
113
133
  ])
114
134
  end
115
135
 
@@ -189,6 +209,22 @@ module AdzerkDecisionSdk
189
209
  if attributes.key?(:'device_id')
190
210
  self.device_id = attributes[:'device_id']
191
211
  end
212
+
213
+ if attributes.key?(:'parallel')
214
+ self.parallel = attributes[:'parallel']
215
+ end
216
+
217
+ if attributes.key?(:'intended_latitude')
218
+ self.intended_latitude = attributes[:'intended_latitude']
219
+ end
220
+
221
+ if attributes.key?(:'intended_longitude')
222
+ self.intended_longitude = attributes[:'intended_longitude']
223
+ end
224
+
225
+ if attributes.key?(:'include_matched_points')
226
+ self.include_matched_points = attributes[:'include_matched_points']
227
+ end
192
228
  end
193
229
 
194
230
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -227,7 +263,11 @@ module AdzerkDecisionSdk
227
263
  enable_bot_filtering == o.enable_bot_filtering &&
228
264
  enable_user_dbip == o.enable_user_dbip &&
229
265
  consent == o.consent &&
230
- device_id == o.device_id
266
+ device_id == o.device_id &&
267
+ parallel == o.parallel &&
268
+ intended_latitude == o.intended_latitude &&
269
+ intended_longitude == o.intended_longitude &&
270
+ include_matched_points == o.include_matched_points
231
271
  end
232
272
 
233
273
  # @see the `==` method
@@ -239,7 +279,7 @@ module AdzerkDecisionSdk
239
279
  # Calculates hash code according to all attributes.
240
280
  # @return [Integer] Hash code
241
281
  def hash
242
- [placements, user, keywords, url, referrer, ip, blocked_creatives, is_mobile, include_pricing_data, notrack, enable_bot_filtering, enable_user_dbip, consent, device_id].hash
282
+ [placements, user, keywords, url, referrer, ip, blocked_creatives, is_mobile, include_pricing_data, notrack, enable_bot_filtering, enable_user_dbip, consent, device_id, parallel, intended_latitude, intended_longitude, include_matched_points].hash
243
283
  end
244
284
 
245
285
  # Builds the object from hash
@@ -6,7 +6,7 @@
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
 
@@ -6,7 +6,7 @@
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
 
@@ -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 MatchedPoint
17
+ attr_accessor :lat
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 :lon
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
+ :'lat' => :'lat',
25
+ :'lon' => :'lon'
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
+ :'lat' => :'String',
33
+ :'lon' => :'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::MatchedPoint` 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::MatchedPoint`. 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?(:'lat')
59
+ self.lat = attributes[:'lat']
84
60
  end
85
61
 
86
- if attributes.key?(:'custom_data')
87
- self.custom_data = attributes[:'custom_data']
62
+ if attributes.key?(:'lon')
63
+ self.lon = attributes[:'lon']
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
+ lat == o.lat &&
86
+ lon == o.lon
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
+ [lat, lon].hash
126
99
  end
127
100
 
128
101
  # Builds the object from hash
@@ -6,7 +6,7 @@
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
 
@@ -62,6 +62,15 @@ module AdzerkDecisionSdk
62
62
  # (BETA) The name of the eCPM Partition that should be used to source eCPM data for auctions
63
63
  attr_accessor :ecpm_partition
64
64
 
65
+ # (BETA) The names of the eCPM Partitions that should be used to source eCPM data for auctions
66
+ attr_accessor :ecpm_partitions
67
+
68
+ attr_accessor :event_multiplier
69
+
70
+ attr_accessor :skip_selection
71
+
72
+ attr_accessor :ad_query
73
+
65
74
  # Attribute mapping from ruby-style variable name to JSON key.
66
75
  def self.attribute_map
67
76
  {
@@ -80,7 +89,11 @@ module AdzerkDecisionSdk
80
89
  :'content_keys' => :'contentKeys',
81
90
  :'count' => :'count',
82
91
  :'proportionality' => :'proportionality',
83
- :'ecpm_partition' => :'ecpmPartition'
92
+ :'ecpm_partition' => :'ecpmPartition',
93
+ :'ecpm_partitions' => :'ecpmPartitions',
94
+ :'event_multiplier' => :'eventMultiplier',
95
+ :'skip_selection' => :'skipSelection',
96
+ :'ad_query' => :'adQuery'
84
97
  }
85
98
  end
86
99
 
@@ -102,7 +115,11 @@ module AdzerkDecisionSdk
102
115
  :'content_keys' => :'Hash<String, Integer>',
103
116
  :'count' => :'Integer',
104
117
  :'proportionality' => :'Boolean',
105
- :'ecpm_partition' => :'String'
118
+ :'ecpm_partition' => :'String',
119
+ :'ecpm_partitions' => :'Array<String>',
120
+ :'event_multiplier' => :'Integer',
121
+ :'skip_selection' => :'Boolean',
122
+ :'ad_query' => :'Object'
106
123
  }
107
124
  end
108
125
 
@@ -120,7 +137,11 @@ module AdzerkDecisionSdk
120
137
  :'content_keys',
121
138
  :'count',
122
139
  :'proportionality',
123
- :'ecpm_partition'
140
+ :'ecpm_partition',
141
+ :'ecpm_partitions',
142
+ :'event_multiplier',
143
+ :'skip_selection',
144
+ :'ad_query'
124
145
  ])
125
146
  end
126
147
 
@@ -210,21 +231,63 @@ module AdzerkDecisionSdk
210
231
  if attributes.key?(:'ecpm_partition')
211
232
  self.ecpm_partition = attributes[:'ecpm_partition']
212
233
  end
234
+
235
+ if attributes.key?(:'ecpm_partitions')
236
+ if (value = attributes[:'ecpm_partitions']).is_a?(Array)
237
+ self.ecpm_partitions = value
238
+ end
239
+ end
240
+
241
+ if attributes.key?(:'event_multiplier')
242
+ self.event_multiplier = attributes[:'event_multiplier']
243
+ end
244
+
245
+ if attributes.key?(:'skip_selection')
246
+ self.skip_selection = attributes[:'skip_selection']
247
+ end
248
+
249
+ if attributes.key?(:'ad_query')
250
+ self.ad_query = attributes[:'ad_query']
251
+ end
213
252
  end
214
253
 
215
254
  # Show invalid properties with the reasons. Usually used together with valid?
216
255
  # @return Array for valid properties with the reasons
217
256
  def list_invalid_properties
218
257
  invalid_properties = Array.new
258
+ if !@event_multiplier.nil? && @event_multiplier > 100000000
259
+ invalid_properties.push('invalid value for "event_multiplier", must be smaller than or equal to 100000000.')
260
+ end
261
+
262
+ if !@event_multiplier.nil? && @event_multiplier < -100000000
263
+ invalid_properties.push('invalid value for "event_multiplier", must be greater than or equal to -100000000.')
264
+ end
265
+
219
266
  invalid_properties
220
267
  end
221
268
 
222
269
  # Check to see if the all the properties in the model are valid
223
270
  # @return true if the model is valid
224
271
  def valid?
272
+ return false if !@event_multiplier.nil? && @event_multiplier > 100000000
273
+ return false if !@event_multiplier.nil? && @event_multiplier < -100000000
225
274
  true
226
275
  end
227
276
 
277
+ # Custom attribute writer method with validation
278
+ # @param [Object] event_multiplier Value to be assigned
279
+ def event_multiplier=(event_multiplier)
280
+ if !event_multiplier.nil? && event_multiplier > 100000000
281
+ fail ArgumentError, 'invalid value for "event_multiplier", must be smaller than or equal to 100000000.'
282
+ end
283
+
284
+ if !event_multiplier.nil? && event_multiplier < -100000000
285
+ fail ArgumentError, 'invalid value for "event_multiplier", must be greater than or equal to -100000000.'
286
+ end
287
+
288
+ @event_multiplier = event_multiplier
289
+ end
290
+
228
291
  # Checks equality by comparing each attribute.
229
292
  # @param [Object] Object to be compared
230
293
  def ==(o)
@@ -245,7 +308,11 @@ module AdzerkDecisionSdk
245
308
  content_keys == o.content_keys &&
246
309
  count == o.count &&
247
310
  proportionality == o.proportionality &&
248
- ecpm_partition == o.ecpm_partition
311
+ ecpm_partition == o.ecpm_partition &&
312
+ ecpm_partitions == o.ecpm_partitions &&
313
+ event_multiplier == o.event_multiplier &&
314
+ skip_selection == o.skip_selection &&
315
+ ad_query == o.ad_query
249
316
  end
250
317
 
251
318
  # @see the `==` method
@@ -257,7 +324,7 @@ module AdzerkDecisionSdk
257
324
  # Calculates hash code according to all attributes.
258
325
  # @return [Integer] Hash code
259
326
  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
327
+ [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
328
  end
262
329
 
263
330
  # Builds the object from hash