late-sdk 0.0.680 → 0.0.681

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 (24) hide show
  1. checksums.yaml +4 -4
  2. data/docs/CreateCommentAutomation200ResponseAutomation.md +5 -1
  3. data/docs/CreateCommentAutomationRequest.md +5 -1
  4. data/docs/GetCommentAutomation200ResponseAutomation.md +5 -1
  5. data/docs/ListCommentAutomations200ResponseAutomationsInner.md +5 -1
  6. data/docs/UpdateCommentAutomation200ResponseAutomation.md +5 -1
  7. data/docs/UpdateCommentAutomationRequest.md +5 -1
  8. data/lib/zernio-sdk/models/create_comment_automation200_response_automation.rb +26 -3
  9. data/lib/zernio-sdk/models/create_comment_automation_request.rb +26 -3
  10. data/lib/zernio-sdk/models/get_comment_automation200_response_automation.rb +26 -3
  11. data/lib/zernio-sdk/models/list_comment_automations200_response_automations_inner.rb +26 -3
  12. data/lib/zernio-sdk/models/update_comment_automation200_response_automation.rb +26 -3
  13. data/lib/zernio-sdk/models/update_comment_automation_request.rb +26 -3
  14. data/lib/zernio-sdk/version.rb +1 -1
  15. data/openapi.yaml +18 -6
  16. data/spec/models/create_comment_automation200_response_automation_spec.rb +13 -1
  17. data/spec/models/create_comment_automation_request_spec.rb +13 -1
  18. data/spec/models/get_comment_automation200_response_automation_spec.rb +13 -1
  19. data/spec/models/list_comment_automations200_response_automations_inner_spec.rb +13 -1
  20. data/spec/models/update_comment_automation200_response_automation_spec.rb +13 -1
  21. data/spec/models/update_comment_automation_request_spec.rb +13 -1
  22. data/zernio-sdk-0.0.681.gem +0 -0
  23. metadata +1562 -1562
  24. data/zernio-sdk-0.0.680.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7192b40ba2d723418ab7b3bec05c108b7f7f1f9dbdded7085d814ea8461abb86
4
- data.tar.gz: 46f41c0d6c8310ddddde2f35cd67537a077b6f9736b96802033cfedf1b1a36e7
3
+ metadata.gz: 41c5dacaef01dfb7cff9a704d423e689678d13a09c7974e4c4645c7dec108bec
4
+ data.tar.gz: f0f7b99d63f4290cb5cd6a991091caa12c1162da411e93ff57f903cdcbc59422
5
5
  SHA512:
6
- metadata.gz: 6e6587c8536d1a40b17c78b74393d0506f687e243ef20eadaf346accea7b13d66d9ee71ab7a05b90f6d5df5a22720bdbf2f6fa4b316ff0590fcfadfee8782e50
7
- data.tar.gz: e6a22768fc8d1bc8b5de383d035816bc1bcc8ad89a4e000da619b6c53b83c74ac42c79d340e16dc4a15777e863758f0e9416150cdc31414bd5ca8dc84e554a6f
6
+ metadata.gz: 8a1bb79d897abd033a8222213053ad729188cb8fc930a16b88e658d00232aa0dc68d0b4ce5390a1eebcc03075ddaa577e295db5a7b2f79feee8ce597748e3ffa
7
+ data.tar.gz: 730ed362bed1290577e93ec9265012cb2a7317d2881e27033dac506d62ff360b5e0498c941c1c5d76fc88eff234d1c2e15a1e9f021d103119ed441363e30ad0a
@@ -10,7 +10,9 @@
10
10
  | **trigger** | **String** | | [optional] |
11
11
  | **platform_post_id** | **String** | | [optional] |
12
12
  | **keywords** | **Array<String>** | | [optional] |
13
- | **match_mode** | **String** | | [optional] |
13
+ | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional] |
14
+ | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
15
+ | **typo_tolerance** | **Boolean** | Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched. | [optional] |
14
16
  | **dm_message** | **String** | | [optional] |
15
17
  | **buttons** | [**Array<DmButton>**](DmButton.md) | Inline DM buttons (up to 3). Omitted when none are set. | [optional] |
16
18
  | **comment_reply** | **String** | | [optional] |
@@ -35,6 +37,8 @@ instance = Zernio::CreateCommentAutomation200ResponseAutomation.new(
35
37
  platform_post_id: null,
36
38
  keywords: null,
37
39
  match_mode: null,
40
+ exclude_keywords: null,
41
+ typo_tolerance: null,
38
42
  dm_message: null,
39
43
  buttons: null,
40
44
  comment_reply: null,
@@ -12,7 +12,9 @@
12
12
  | **post_title** | **String** | Post content snippet for display | [optional] |
13
13
  | **name** | **String** | Automation label | |
14
14
  | **keywords** | **Array<String>** | Trigger keywords (empty = any comment triggers) | [optional] |
15
- | **match_mode** | **String** | | [optional][default to 'contains'] |
15
+ | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional][default to 'contains'] |
16
+ | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
17
+ | **typo_tolerance** | **Boolean** | Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched. | [optional] |
16
18
  | **dm_message** | **String** | DM text to send to commenter. Max 640 chars when buttons are set, otherwise ~1000. | |
17
19
  | **buttons** | [**Array<DmButton>**](DmButton.md) | Optional inline DM buttons (1-3). Phone buttons are Facebook-only. Omit or pass [] for a plain-text DM. | [optional] |
18
20
  | **comment_reply** | **String** | Optional public reply to the comment | [optional] |
@@ -36,6 +38,8 @@ instance = Zernio::CreateCommentAutomationRequest.new(
36
38
  name: null,
37
39
  keywords: null,
38
40
  match_mode: null,
41
+ exclude_keywords: null,
42
+ typo_tolerance: null,
39
43
  dm_message: null,
40
44
  buttons: null,
41
45
  comment_reply: null,
@@ -13,7 +13,9 @@
13
13
  | **post_id** | **String** | | [optional] |
14
14
  | **post_title** | **String** | | [optional] |
15
15
  | **keywords** | **Array<String>** | | [optional] |
16
- | **match_mode** | **String** | | [optional] |
16
+ | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional] |
17
+ | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
18
+ | **typo_tolerance** | **Boolean** | Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched. | [optional] |
17
19
  | **dm_message** | **String** | | [optional] |
18
20
  | **buttons** | [**Array<DmButton>**](DmButton.md) | Inline DM buttons (up to 3). Omitted when none are set. | [optional] |
19
21
  | **comment_reply** | **String** | | [optional] |
@@ -42,6 +44,8 @@ instance = Zernio::GetCommentAutomation200ResponseAutomation.new(
42
44
  post_title: null,
43
45
  keywords: null,
44
46
  match_mode: null,
47
+ exclude_keywords: null,
48
+ typo_tolerance: null,
45
49
  dm_message: null,
46
50
  buttons: null,
47
51
  comment_reply: null,
@@ -12,7 +12,9 @@
12
12
  | **platform_post_id** | **String** | | [optional] |
13
13
  | **post_title** | **String** | | [optional] |
14
14
  | **keywords** | **Array<String>** | | [optional] |
15
- | **match_mode** | **String** | | [optional] |
15
+ | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional] |
16
+ | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
17
+ | **typo_tolerance** | **Boolean** | Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched. | [optional] |
16
18
  | **dm_message** | **String** | | [optional] |
17
19
  | **buttons** | [**Array<DmButton>**](DmButton.md) | Inline DM buttons (up to 3). Omitted when none are set. | [optional] |
18
20
  | **comment_reply** | **String** | | [optional] |
@@ -39,6 +41,8 @@ instance = Zernio::ListCommentAutomations200ResponseAutomationsInner.new(
39
41
  post_title: null,
40
42
  keywords: null,
41
43
  match_mode: null,
44
+ exclude_keywords: null,
45
+ typo_tolerance: null,
42
46
  dm_message: null,
43
47
  buttons: null,
44
48
  comment_reply: null,
@@ -7,7 +7,9 @@
7
7
  | **id** | **String** | | [optional] |
8
8
  | **name** | **String** | | [optional] |
9
9
  | **keywords** | **Array<String>** | | [optional] |
10
- | **match_mode** | **String** | | [optional] |
10
+ | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional] |
11
+ | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
12
+ | **typo_tolerance** | **Boolean** | Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched. | [optional] |
11
13
  | **dm_message** | **String** | | [optional] |
12
14
  | **buttons** | [**Array<DmButton>**](DmButton.md) | Inline DM buttons (up to 3). Omitted when none are set. | [optional] |
13
15
  | **comment_reply** | **String** | | [optional] |
@@ -26,6 +28,8 @@ instance = Zernio::UpdateCommentAutomation200ResponseAutomation.new(
26
28
  name: null,
27
29
  keywords: null,
28
30
  match_mode: null,
31
+ exclude_keywords: null,
32
+ typo_tolerance: null,
29
33
  dm_message: null,
30
34
  buttons: null,
31
35
  comment_reply: null,
@@ -6,7 +6,9 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **name** | **String** | | [optional] |
8
8
  | **keywords** | **Array<String>** | | [optional] |
9
- | **match_mode** | **String** | | [optional] |
9
+ | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional] |
10
+ | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
11
+ | **typo_tolerance** | **Boolean** | Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched. | [optional] |
10
12
  | **dm_message** | **String** | | [optional] |
11
13
  | **buttons** | [**Array<DmButton>**](DmButton.md) | Inline DM buttons (1-3). Pass [] to clear all buttons. | [optional] |
12
14
  | **comment_reply** | **String** | | [optional] |
@@ -25,6 +27,8 @@ instance = Zernio::UpdateCommentAutomationRequest.new(
25
27
  name: null,
26
28
  keywords: null,
27
29
  match_mode: null,
30
+ exclude_keywords: null,
31
+ typo_tolerance: null,
28
32
  dm_message: null,
29
33
  buttons: null,
30
34
  comment_reply: null,
@@ -27,8 +27,15 @@ module Zernio
27
27
 
28
28
  attr_accessor :keywords
29
29
 
30
+ # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
30
31
  attr_accessor :match_mode
31
32
 
33
+ # Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode.
34
+ attr_accessor :exclude_keywords
35
+
36
+ # Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched.
37
+ attr_accessor :typo_tolerance
38
+
32
39
  attr_accessor :dm_message
33
40
 
34
41
  # Inline DM buttons (up to 3). Omitted when none are set.
@@ -84,6 +91,8 @@ module Zernio
84
91
  :'platform_post_id' => :'platformPostId',
85
92
  :'keywords' => :'keywords',
86
93
  :'match_mode' => :'matchMode',
94
+ :'exclude_keywords' => :'excludeKeywords',
95
+ :'typo_tolerance' => :'typoTolerance',
87
96
  :'dm_message' => :'dmMessage',
88
97
  :'buttons' => :'buttons',
89
98
  :'comment_reply' => :'commentReply',
@@ -117,6 +126,8 @@ module Zernio
117
126
  :'platform_post_id' => :'String',
118
127
  :'keywords' => :'Array<String>',
119
128
  :'match_mode' => :'String',
129
+ :'exclude_keywords' => :'Array<String>',
130
+ :'typo_tolerance' => :'Boolean',
120
131
  :'dm_message' => :'String',
121
132
  :'buttons' => :'Array<DmButton>',
122
133
  :'comment_reply' => :'String',
@@ -182,6 +193,16 @@ module Zernio
182
193
  self.match_mode = attributes[:'match_mode']
183
194
  end
184
195
 
196
+ if attributes.key?(:'exclude_keywords')
197
+ if (value = attributes[:'exclude_keywords']).is_a?(Array)
198
+ self.exclude_keywords = value
199
+ end
200
+ end
201
+
202
+ if attributes.key?(:'typo_tolerance')
203
+ self.typo_tolerance = attributes[:'typo_tolerance']
204
+ end
205
+
185
206
  if attributes.key?(:'dm_message')
186
207
  self.dm_message = attributes[:'dm_message']
187
208
  end
@@ -243,7 +264,7 @@ module Zernio
243
264
  warn '[DEPRECATED] the `valid?` method is obsolete'
244
265
  trigger_validator = EnumAttributeValidator.new('String', ["comment", "story_reply"])
245
266
  return false unless trigger_validator.valid?(@trigger)
246
- match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains"])
267
+ match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
247
268
  return false unless match_mode_validator.valid?(@match_mode)
248
269
  true
249
270
  end
@@ -261,7 +282,7 @@ module Zernio
261
282
  # Custom attribute writer method checking allowed values (enum).
262
283
  # @param [Object] match_mode Object to be assigned
263
284
  def match_mode=(match_mode)
264
- validator = EnumAttributeValidator.new('String', ["exact", "contains"])
285
+ validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
265
286
  unless validator.valid?(match_mode)
266
287
  fail ArgumentError, "invalid value for \"match_mode\", must be one of #{validator.allowable_values}."
267
288
  end
@@ -280,6 +301,8 @@ module Zernio
280
301
  platform_post_id == o.platform_post_id &&
281
302
  keywords == o.keywords &&
282
303
  match_mode == o.match_mode &&
304
+ exclude_keywords == o.exclude_keywords &&
305
+ typo_tolerance == o.typo_tolerance &&
283
306
  dm_message == o.dm_message &&
284
307
  buttons == o.buttons &&
285
308
  comment_reply == o.comment_reply &&
@@ -301,7 +324,7 @@ module Zernio
301
324
  # Calculates hash code according to all attributes.
302
325
  # @return [Integer] Hash code
303
326
  def hash
304
- [id, name, platform, trigger, platform_post_id, keywords, match_mode, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at].hash
327
+ [id, name, platform, trigger, platform_post_id, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at].hash
305
328
  end
306
329
 
307
330
  # Builds the object from hash
@@ -38,8 +38,15 @@ module Zernio
38
38
  # Trigger keywords (empty = any comment triggers)
39
39
  attr_accessor :keywords
40
40
 
41
+ # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
41
42
  attr_accessor :match_mode
42
43
 
44
+ # Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode.
45
+ attr_accessor :exclude_keywords
46
+
47
+ # Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched.
48
+ attr_accessor :typo_tolerance
49
+
43
50
  # DM text to send to commenter. Max 640 chars when buttons are set, otherwise ~1000.
44
51
  attr_accessor :dm_message
45
52
 
@@ -95,6 +102,8 @@ module Zernio
95
102
  :'name' => :'name',
96
103
  :'keywords' => :'keywords',
97
104
  :'match_mode' => :'matchMode',
105
+ :'exclude_keywords' => :'excludeKeywords',
106
+ :'typo_tolerance' => :'typoTolerance',
98
107
  :'dm_message' => :'dmMessage',
99
108
  :'buttons' => :'buttons',
100
109
  :'comment_reply' => :'commentReply',
@@ -127,6 +136,8 @@ module Zernio
127
136
  :'name' => :'String',
128
137
  :'keywords' => :'Array<String>',
129
138
  :'match_mode' => :'String',
139
+ :'exclude_keywords' => :'Array<String>',
140
+ :'typo_tolerance' => :'Boolean',
130
141
  :'dm_message' => :'String',
131
142
  :'buttons' => :'Array<DmButton>',
132
143
  :'comment_reply' => :'String',
@@ -207,6 +218,16 @@ module Zernio
207
218
  self.match_mode = 'contains'
208
219
  end
209
220
 
221
+ if attributes.key?(:'exclude_keywords')
222
+ if (value = attributes[:'exclude_keywords']).is_a?(Array)
223
+ self.exclude_keywords = value
224
+ end
225
+ end
226
+
227
+ if attributes.key?(:'typo_tolerance')
228
+ self.typo_tolerance = attributes[:'typo_tolerance']
229
+ end
230
+
210
231
  if attributes.key?(:'dm_message')
211
232
  self.dm_message = attributes[:'dm_message']
212
233
  else
@@ -291,7 +312,7 @@ module Zernio
291
312
  trigger_validator = EnumAttributeValidator.new('String', ["comment", "story_reply"])
292
313
  return false unless trigger_validator.valid?(@trigger)
293
314
  return false if @name.nil?
294
- match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains"])
315
+ match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
295
316
  return false unless match_mode_validator.valid?(@match_mode)
296
317
  return false if @dm_message.nil?
297
318
  return false if !@buttons.nil? && @buttons.length > 3
@@ -343,7 +364,7 @@ module Zernio
343
364
  # Custom attribute writer method checking allowed values (enum).
344
365
  # @param [Object] match_mode Object to be assigned
345
366
  def match_mode=(match_mode)
346
- validator = EnumAttributeValidator.new('String', ["exact", "contains"])
367
+ validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
347
368
  unless validator.valid?(match_mode)
348
369
  fail ArgumentError, "invalid value for \"match_mode\", must be one of #{validator.allowable_values}."
349
370
  end
@@ -416,6 +437,8 @@ module Zernio
416
437
  name == o.name &&
417
438
  keywords == o.keywords &&
418
439
  match_mode == o.match_mode &&
440
+ exclude_keywords == o.exclude_keywords &&
441
+ typo_tolerance == o.typo_tolerance &&
419
442
  dm_message == o.dm_message &&
420
443
  buttons == o.buttons &&
421
444
  comment_reply == o.comment_reply &&
@@ -434,7 +457,7 @@ module Zernio
434
457
  # Calculates hash code according to all attributes.
435
458
  # @return [Integer] Hash code
436
459
  def hash
437
- [profile_id, account_id, trigger, platform_post_id, post_id, post_title, name, keywords, match_mode, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag].hash
460
+ [profile_id, account_id, trigger, platform_post_id, post_id, post_title, name, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag].hash
438
461
  end
439
462
 
440
463
  # Builds the object from hash
@@ -33,8 +33,15 @@ module Zernio
33
33
 
34
34
  attr_accessor :keywords
35
35
 
36
+ # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
36
37
  attr_accessor :match_mode
37
38
 
39
+ # Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode.
40
+ attr_accessor :exclude_keywords
41
+
42
+ # Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched.
43
+ attr_accessor :typo_tolerance
44
+
38
45
  attr_accessor :dm_message
39
46
 
40
47
  # Inline DM buttons (up to 3). Omitted when none are set.
@@ -95,6 +102,8 @@ module Zernio
95
102
  :'post_title' => :'postTitle',
96
103
  :'keywords' => :'keywords',
97
104
  :'match_mode' => :'matchMode',
105
+ :'exclude_keywords' => :'excludeKeywords',
106
+ :'typo_tolerance' => :'typoTolerance',
98
107
  :'dm_message' => :'dmMessage',
99
108
  :'buttons' => :'buttons',
100
109
  :'comment_reply' => :'commentReply',
@@ -132,6 +141,8 @@ module Zernio
132
141
  :'post_title' => :'String',
133
142
  :'keywords' => :'Array<String>',
134
143
  :'match_mode' => :'String',
144
+ :'exclude_keywords' => :'Array<String>',
145
+ :'typo_tolerance' => :'Boolean',
135
146
  :'dm_message' => :'String',
136
147
  :'buttons' => :'Array<DmButton>',
137
148
  :'comment_reply' => :'String',
@@ -210,6 +221,16 @@ module Zernio
210
221
  self.match_mode = attributes[:'match_mode']
211
222
  end
212
223
 
224
+ if attributes.key?(:'exclude_keywords')
225
+ if (value = attributes[:'exclude_keywords']).is_a?(Array)
226
+ self.exclude_keywords = value
227
+ end
228
+ end
229
+
230
+ if attributes.key?(:'typo_tolerance')
231
+ self.typo_tolerance = attributes[:'typo_tolerance']
232
+ end
233
+
213
234
  if attributes.key?(:'dm_message')
214
235
  self.dm_message = attributes[:'dm_message']
215
236
  end
@@ -275,7 +296,7 @@ module Zernio
275
296
  warn '[DEPRECATED] the `valid?` method is obsolete'
276
297
  trigger_validator = EnumAttributeValidator.new('String', ["comment", "story_reply"])
277
298
  return false unless trigger_validator.valid?(@trigger)
278
- match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains"])
299
+ match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
279
300
  return false unless match_mode_validator.valid?(@match_mode)
280
301
  true
281
302
  end
@@ -293,7 +314,7 @@ module Zernio
293
314
  # Custom attribute writer method checking allowed values (enum).
294
315
  # @param [Object] match_mode Object to be assigned
295
316
  def match_mode=(match_mode)
296
- validator = EnumAttributeValidator.new('String', ["exact", "contains"])
317
+ validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
297
318
  unless validator.valid?(match_mode)
298
319
  fail ArgumentError, "invalid value for \"match_mode\", must be one of #{validator.allowable_values}."
299
320
  end
@@ -315,6 +336,8 @@ module Zernio
315
336
  post_title == o.post_title &&
316
337
  keywords == o.keywords &&
317
338
  match_mode == o.match_mode &&
339
+ exclude_keywords == o.exclude_keywords &&
340
+ typo_tolerance == o.typo_tolerance &&
318
341
  dm_message == o.dm_message &&
319
342
  buttons == o.buttons &&
320
343
  comment_reply == o.comment_reply &&
@@ -337,7 +360,7 @@ module Zernio
337
360
  # Calculates hash code according to all attributes.
338
361
  # @return [Integer] Hash code
339
362
  def hash
340
- [id, name, platform, trigger, account_id, platform_post_id, post_id, post_title, keywords, match_mode, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at, updated_at].hash
363
+ [id, name, platform, trigger, account_id, platform_post_id, post_id, post_title, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at, updated_at].hash
341
364
  end
342
365
 
343
366
  # Builds the object from hash
@@ -31,8 +31,15 @@ module Zernio
31
31
 
32
32
  attr_accessor :keywords
33
33
 
34
+ # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
34
35
  attr_accessor :match_mode
35
36
 
37
+ # Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode.
38
+ attr_accessor :exclude_keywords
39
+
40
+ # Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched.
41
+ attr_accessor :typo_tolerance
42
+
36
43
  attr_accessor :dm_message
37
44
 
38
45
  # Inline DM buttons (up to 3). Omitted when none are set.
@@ -92,6 +99,8 @@ module Zernio
92
99
  :'post_title' => :'postTitle',
93
100
  :'keywords' => :'keywords',
94
101
  :'match_mode' => :'matchMode',
102
+ :'exclude_keywords' => :'excludeKeywords',
103
+ :'typo_tolerance' => :'typoTolerance',
95
104
  :'dm_message' => :'dmMessage',
96
105
  :'buttons' => :'buttons',
97
106
  :'comment_reply' => :'commentReply',
@@ -127,6 +136,8 @@ module Zernio
127
136
  :'post_title' => :'String',
128
137
  :'keywords' => :'Array<String>',
129
138
  :'match_mode' => :'String',
139
+ :'exclude_keywords' => :'Array<String>',
140
+ :'typo_tolerance' => :'Boolean',
130
141
  :'dm_message' => :'String',
131
142
  :'buttons' => :'Array<DmButton>',
132
143
  :'comment_reply' => :'String',
@@ -200,6 +211,16 @@ module Zernio
200
211
  self.match_mode = attributes[:'match_mode']
201
212
  end
202
213
 
214
+ if attributes.key?(:'exclude_keywords')
215
+ if (value = attributes[:'exclude_keywords']).is_a?(Array)
216
+ self.exclude_keywords = value
217
+ end
218
+ end
219
+
220
+ if attributes.key?(:'typo_tolerance')
221
+ self.typo_tolerance = attributes[:'typo_tolerance']
222
+ end
223
+
203
224
  if attributes.key?(:'dm_message')
204
225
  self.dm_message = attributes[:'dm_message']
205
226
  end
@@ -263,7 +284,7 @@ module Zernio
263
284
  return false unless platform_validator.valid?(@platform)
264
285
  trigger_validator = EnumAttributeValidator.new('String', ["comment", "story_reply"])
265
286
  return false unless trigger_validator.valid?(@trigger)
266
- match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains"])
287
+ match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
267
288
  return false unless match_mode_validator.valid?(@match_mode)
268
289
  true
269
290
  end
@@ -291,7 +312,7 @@ module Zernio
291
312
  # Custom attribute writer method checking allowed values (enum).
292
313
  # @param [Object] match_mode Object to be assigned
293
314
  def match_mode=(match_mode)
294
- validator = EnumAttributeValidator.new('String', ["exact", "contains"])
315
+ validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
295
316
  unless validator.valid?(match_mode)
296
317
  fail ArgumentError, "invalid value for \"match_mode\", must be one of #{validator.allowable_values}."
297
318
  end
@@ -312,6 +333,8 @@ module Zernio
312
333
  post_title == o.post_title &&
313
334
  keywords == o.keywords &&
314
335
  match_mode == o.match_mode &&
336
+ exclude_keywords == o.exclude_keywords &&
337
+ typo_tolerance == o.typo_tolerance &&
315
338
  dm_message == o.dm_message &&
316
339
  buttons == o.buttons &&
317
340
  comment_reply == o.comment_reply &&
@@ -333,7 +356,7 @@ module Zernio
333
356
  # Calculates hash code according to all attributes.
334
357
  # @return [Integer] Hash code
335
358
  def hash
336
- [id, name, platform, trigger, account_id, platform_post_id, post_title, keywords, match_mode, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at].hash
359
+ [id, name, platform, trigger, account_id, platform_post_id, post_title, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active, stats, created_at].hash
337
360
  end
338
361
 
339
362
  # Builds the object from hash
@@ -21,8 +21,15 @@ module Zernio
21
21
 
22
22
  attr_accessor :keywords
23
23
 
24
+ # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
24
25
  attr_accessor :match_mode
25
26
 
27
+ # Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode.
28
+ attr_accessor :exclude_keywords
29
+
30
+ # Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched.
31
+ attr_accessor :typo_tolerance
32
+
26
33
  attr_accessor :dm_message
27
34
 
28
35
  # Inline DM buttons (up to 3). Omitted when none are set.
@@ -69,6 +76,8 @@ module Zernio
69
76
  :'name' => :'name',
70
77
  :'keywords' => :'keywords',
71
78
  :'match_mode' => :'matchMode',
79
+ :'exclude_keywords' => :'excludeKeywords',
80
+ :'typo_tolerance' => :'typoTolerance',
72
81
  :'dm_message' => :'dmMessage',
73
82
  :'buttons' => :'buttons',
74
83
  :'comment_reply' => :'commentReply',
@@ -96,6 +105,8 @@ module Zernio
96
105
  :'name' => :'String',
97
106
  :'keywords' => :'Array<String>',
98
107
  :'match_mode' => :'String',
108
+ :'exclude_keywords' => :'Array<String>',
109
+ :'typo_tolerance' => :'Boolean',
99
110
  :'dm_message' => :'String',
100
111
  :'buttons' => :'Array<DmButton>',
101
112
  :'comment_reply' => :'String',
@@ -146,6 +157,16 @@ module Zernio
146
157
  self.match_mode = attributes[:'match_mode']
147
158
  end
148
159
 
160
+ if attributes.key?(:'exclude_keywords')
161
+ if (value = attributes[:'exclude_keywords']).is_a?(Array)
162
+ self.exclude_keywords = value
163
+ end
164
+ end
165
+
166
+ if attributes.key?(:'typo_tolerance')
167
+ self.typo_tolerance = attributes[:'typo_tolerance']
168
+ end
169
+
149
170
  if attributes.key?(:'dm_message')
150
171
  self.dm_message = attributes[:'dm_message']
151
172
  end
@@ -193,7 +214,7 @@ module Zernio
193
214
  # @return true if the model is valid
194
215
  def valid?
195
216
  warn '[DEPRECATED] the `valid?` method is obsolete'
196
- match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains"])
217
+ match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
197
218
  return false unless match_mode_validator.valid?(@match_mode)
198
219
  true
199
220
  end
@@ -201,7 +222,7 @@ module Zernio
201
222
  # Custom attribute writer method checking allowed values (enum).
202
223
  # @param [Object] match_mode Object to be assigned
203
224
  def match_mode=(match_mode)
204
- validator = EnumAttributeValidator.new('String', ["exact", "contains"])
225
+ validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
205
226
  unless validator.valid?(match_mode)
206
227
  fail ArgumentError, "invalid value for \"match_mode\", must be one of #{validator.allowable_values}."
207
228
  end
@@ -217,6 +238,8 @@ module Zernio
217
238
  name == o.name &&
218
239
  keywords == o.keywords &&
219
240
  match_mode == o.match_mode &&
241
+ exclude_keywords == o.exclude_keywords &&
242
+ typo_tolerance == o.typo_tolerance &&
220
243
  dm_message == o.dm_message &&
221
244
  buttons == o.buttons &&
222
245
  comment_reply == o.comment_reply &&
@@ -235,7 +258,7 @@ module Zernio
235
258
  # Calculates hash code according to all attributes.
236
259
  # @return [Integer] Hash code
237
260
  def hash
238
- [id, name, keywords, match_mode, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, is_active, updated_at].hash
261
+ [id, name, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, is_active, updated_at].hash
239
262
  end
240
263
 
241
264
  # Builds the object from hash
@@ -19,8 +19,15 @@ module Zernio
19
19
 
20
20
  attr_accessor :keywords
21
21
 
22
+ # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
22
23
  attr_accessor :match_mode
23
24
 
25
+ # Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode.
26
+ attr_accessor :exclude_keywords
27
+
28
+ # Only with matchMode=word: also fire on close misspellings of a keyword (one edit for 4-7 character keywords, two from 8 up). Keywords shorter than 4 characters are never fuzzy-matched.
29
+ attr_accessor :typo_tolerance
30
+
24
31
  attr_accessor :dm_message
25
32
 
26
33
  # Inline DM buttons (1-3). Pass [] to clear all buttons.
@@ -70,6 +77,8 @@ module Zernio
70
77
  :'name' => :'name',
71
78
  :'keywords' => :'keywords',
72
79
  :'match_mode' => :'matchMode',
80
+ :'exclude_keywords' => :'excludeKeywords',
81
+ :'typo_tolerance' => :'typoTolerance',
73
82
  :'dm_message' => :'dmMessage',
74
83
  :'buttons' => :'buttons',
75
84
  :'comment_reply' => :'commentReply',
@@ -97,6 +106,8 @@ module Zernio
97
106
  :'name' => :'String',
98
107
  :'keywords' => :'Array<String>',
99
108
  :'match_mode' => :'String',
109
+ :'exclude_keywords' => :'Array<String>',
110
+ :'typo_tolerance' => :'Boolean',
100
111
  :'dm_message' => :'String',
101
112
  :'buttons' => :'Array<DmButton>',
102
113
  :'comment_reply' => :'String',
@@ -144,6 +155,16 @@ module Zernio
144
155
  self.match_mode = attributes[:'match_mode']
145
156
  end
146
157
 
158
+ if attributes.key?(:'exclude_keywords')
159
+ if (value = attributes[:'exclude_keywords']).is_a?(Array)
160
+ self.exclude_keywords = value
161
+ end
162
+ end
163
+
164
+ if attributes.key?(:'typo_tolerance')
165
+ self.typo_tolerance = attributes[:'typo_tolerance']
166
+ end
167
+
147
168
  if attributes.key?(:'dm_message')
148
169
  self.dm_message = attributes[:'dm_message']
149
170
  end
@@ -207,7 +228,7 @@ module Zernio
207
228
  # @return true if the model is valid
208
229
  def valid?
209
230
  warn '[DEPRECATED] the `valid?` method is obsolete'
210
- match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains"])
231
+ match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
211
232
  return false unless match_mode_validator.valid?(@match_mode)
212
233
  return false if !@buttons.nil? && @buttons.length > 3
213
234
  return false if !@dm_message_variations.nil? && @dm_message_variations.length > 5
@@ -218,7 +239,7 @@ module Zernio
218
239
  # Custom attribute writer method checking allowed values (enum).
219
240
  # @param [Object] match_mode Object to be assigned
220
241
  def match_mode=(match_mode)
221
- validator = EnumAttributeValidator.new('String', ["exact", "contains"])
242
+ validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
222
243
  unless validator.valid?(match_mode)
223
244
  fail ArgumentError, "invalid value for \"match_mode\", must be one of #{validator.allowable_values}."
224
245
  end
@@ -275,6 +296,8 @@ module Zernio
275
296
  name == o.name &&
276
297
  keywords == o.keywords &&
277
298
  match_mode == o.match_mode &&
299
+ exclude_keywords == o.exclude_keywords &&
300
+ typo_tolerance == o.typo_tolerance &&
278
301
  dm_message == o.dm_message &&
279
302
  buttons == o.buttons &&
280
303
  comment_reply == o.comment_reply &&
@@ -294,7 +317,7 @@ module Zernio
294
317
  # Calculates hash code according to all attributes.
295
318
  # @return [Integer] Hash code
296
319
  def hash
297
- [name, keywords, match_mode, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active].hash
320
+ [name, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active].hash
298
321
  end
299
322
 
300
323
  # Builds the object from hash