late-sdk 0.0.683 → 0.0.685

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -0
  3. data/docs/AccountsApi.md +76 -0
  4. data/docs/CommentAutomationAudience.md +22 -0
  5. data/docs/CommentAutomationFollowGate.md +22 -0
  6. data/docs/CommentAutomationsApi.md +1 -1
  7. data/docs/CreateCommentAutomation200ResponseAutomation.md +4 -0
  8. data/docs/CreateCommentAutomationRequest.md +5 -1
  9. data/docs/GetCommentAutomation200ResponseAutomation.md +4 -0
  10. data/docs/GetCommentAutomation200ResponseLogsInner.md +7 -1
  11. data/docs/GetInstagramFollowStatus200Response.md +34 -0
  12. data/docs/ListCommentAutomationLogs200Response.md +3 -1
  13. data/docs/ListCommentAutomationLogs200ResponseMisses.md +22 -0
  14. data/docs/ListCommentAutomationLogs200ResponseMissesSamplesInner.md +24 -0
  15. data/docs/UpdateCommentAutomation200ResponseAutomation.md +4 -0
  16. data/docs/UpdateCommentAutomationRequest.md +4 -0
  17. data/docs/WebhookPayloadCommentCommentAuthor.md +3 -1
  18. data/docs/WebhookPayloadCommentCommentAuthorInstagramProfile.md +24 -0
  19. data/lib/zernio-sdk/api/accounts_api.rb +72 -0
  20. data/lib/zernio-sdk/api/comment_automations_api.rb +15 -3
  21. data/lib/zernio-sdk/models/comment_automation_audience.rb +237 -0
  22. data/lib/zernio-sdk/models/comment_automation_follow_gate.rb +226 -0
  23. data/lib/zernio-sdk/models/create_comment_automation200_response_automation.rb +19 -1
  24. data/lib/zernio-sdk/models/create_comment_automation_request.rb +22 -4
  25. data/lib/zernio-sdk/models/get_comment_automation200_response_automation.rb +19 -1
  26. data/lib/zernio-sdk/models/get_comment_automation200_response_logs_inner.rb +45 -4
  27. data/lib/zernio-sdk/models/get_instagram_follow_status200_response.rb +299 -0
  28. data/lib/zernio-sdk/models/list_comment_automation_logs200_response.rb +13 -4
  29. data/lib/zernio-sdk/models/list_comment_automation_logs200_response_misses.rb +171 -0
  30. data/lib/zernio-sdk/models/list_comment_automation_logs200_response_misses_samples_inner.rb +175 -0
  31. data/lib/zernio-sdk/models/update_comment_automation200_response_automation.rb +19 -1
  32. data/lib/zernio-sdk/models/update_comment_automation_request.rb +19 -1
  33. data/lib/zernio-sdk/models/webhook_payload_comment_comment_author.rb +14 -5
  34. data/lib/zernio-sdk/models/webhook_payload_comment_comment_author_instagram_profile.rb +181 -0
  35. data/lib/zernio-sdk/version.rb +1 -1
  36. data/lib/zernio-sdk.rb +6 -0
  37. data/openapi.yaml +181 -5
  38. data/spec/api/accounts_api_spec.rb +14 -0
  39. data/spec/api/comment_automations_api_spec.rb +1 -1
  40. data/spec/models/comment_automation_audience_spec.rb +56 -0
  41. data/spec/models/comment_automation_follow_gate_spec.rb +48 -0
  42. data/spec/models/create_comment_automation200_response_automation_spec.rb +12 -0
  43. data/spec/models/create_comment_automation_request_spec.rb +12 -0
  44. data/spec/models/get_comment_automation200_response_automation_spec.rb +12 -0
  45. data/spec/models/get_comment_automation200_response_logs_inner_spec.rb +23 -1
  46. data/spec/models/get_instagram_follow_status200_response_spec.rb +88 -0
  47. data/spec/models/list_comment_automation_logs200_response_misses_samples_inner_spec.rb +54 -0
  48. data/spec/models/list_comment_automation_logs200_response_misses_spec.rb +48 -0
  49. data/spec/models/list_comment_automation_logs200_response_spec.rb +6 -0
  50. data/spec/models/update_comment_automation200_response_automation_spec.rb +12 -0
  51. data/spec/models/update_comment_automation_request_spec.rb +12 -0
  52. data/spec/models/webhook_payload_comment_comment_author_instagram_profile_spec.rb +54 -0
  53. data/spec/models/webhook_payload_comment_comment_author_spec.rb +6 -0
  54. data/zernio-sdk-0.0.685.gem +0 -0
  55. metadata +26 -2
  56. data/zernio-sdk-0.0.683.gem +0 -0
@@ -0,0 +1,237 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ # Who a comment automation answers. Instagram only - Meta exposes the follow relationship on no other platform, and only for people who have MESSAGED the account (a comment grants no consent). `whenUnknown` is therefore the important setting: it decides what happens for a first-time commenter.
18
+ class CommentAutomationAudience < ApiModelBase
19
+ attr_accessor :follower_status
20
+
21
+ # Skip commenters with fewer followers than this. Omit for no size rule.
22
+ attr_accessor :min_follower_count
23
+
24
+ # What to do when Instagram will not reveal the follow relationship. * `send` (default) - deliver the DM anyway (fails open). * `skip` - stay silent. * `verify` - send `followGate.message` with a confirm button. Tapping it is a message, which grants consent, so the re-check on the tap resolves and the real DM (or `followGate.notFollowingMessage`) follows automatically.
25
+ attr_accessor :when_unknown
26
+
27
+ class EnumAttributeValidator
28
+ attr_reader :datatype
29
+ attr_reader :allowable_values
30
+
31
+ def initialize(datatype, allowable_values)
32
+ @allowable_values = allowable_values.map do |value|
33
+ case datatype.to_s
34
+ when /Integer/i
35
+ value.to_i
36
+ when /Float/i
37
+ value.to_f
38
+ else
39
+ value
40
+ end
41
+ end
42
+ end
43
+
44
+ def valid?(value)
45
+ !value || allowable_values.include?(value)
46
+ end
47
+ end
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'follower_status' => :'followerStatus',
53
+ :'min_follower_count' => :'minFollowerCount',
54
+ :'when_unknown' => :'whenUnknown'
55
+ }
56
+ end
57
+
58
+ # Returns attribute mapping this model knows about
59
+ def self.acceptable_attribute_map
60
+ attribute_map
61
+ end
62
+
63
+ # Returns all the JSON keys this model knows about
64
+ def self.acceptable_attributes
65
+ acceptable_attribute_map.values
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.openapi_types
70
+ {
71
+ :'follower_status' => :'String',
72
+ :'min_follower_count' => :'Integer',
73
+ :'when_unknown' => :'String'
74
+ }
75
+ end
76
+
77
+ # List of attributes with nullable: true
78
+ def self.openapi_nullable
79
+ Set.new([
80
+ ])
81
+ end
82
+
83
+ # Initializes the object
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ def initialize(attributes = {})
86
+ if (!attributes.is_a?(Hash))
87
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::CommentAutomationAudience` initialize method"
88
+ end
89
+
90
+ # check to see if the attribute exists and convert string to symbol for hash key
91
+ acceptable_attribute_map = self.class.acceptable_attribute_map
92
+ attributes = attributes.each_with_object({}) { |(k, v), h|
93
+ if (!acceptable_attribute_map.key?(k.to_sym))
94
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::CommentAutomationAudience`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
95
+ end
96
+ h[k.to_sym] = v
97
+ }
98
+
99
+ if attributes.key?(:'follower_status')
100
+ self.follower_status = attributes[:'follower_status']
101
+ else
102
+ self.follower_status = 'any'
103
+ end
104
+
105
+ if attributes.key?(:'min_follower_count')
106
+ self.min_follower_count = attributes[:'min_follower_count']
107
+ end
108
+
109
+ if attributes.key?(:'when_unknown')
110
+ self.when_unknown = attributes[:'when_unknown']
111
+ else
112
+ self.when_unknown = 'send'
113
+ end
114
+ end
115
+
116
+ # Show invalid properties with the reasons. Usually used together with valid?
117
+ # @return Array for valid properties with the reasons
118
+ def list_invalid_properties
119
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
120
+ invalid_properties = Array.new
121
+ if !@min_follower_count.nil? && @min_follower_count < 0
122
+ invalid_properties.push('invalid value for "min_follower_count", must be greater than or equal to 0.')
123
+ end
124
+
125
+ invalid_properties
126
+ end
127
+
128
+ # Check to see if the all the properties in the model are valid
129
+ # @return true if the model is valid
130
+ def valid?
131
+ warn '[DEPRECATED] the `valid?` method is obsolete'
132
+ follower_status_validator = EnumAttributeValidator.new('String', ["any", "follower", "non_follower"])
133
+ return false unless follower_status_validator.valid?(@follower_status)
134
+ return false if !@min_follower_count.nil? && @min_follower_count < 0
135
+ when_unknown_validator = EnumAttributeValidator.new('String', ["send", "skip", "verify"])
136
+ return false unless when_unknown_validator.valid?(@when_unknown)
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method checking allowed values (enum).
141
+ # @param [Object] follower_status Object to be assigned
142
+ def follower_status=(follower_status)
143
+ validator = EnumAttributeValidator.new('String', ["any", "follower", "non_follower"])
144
+ unless validator.valid?(follower_status)
145
+ fail ArgumentError, "invalid value for \"follower_status\", must be one of #{validator.allowable_values}."
146
+ end
147
+ @follower_status = follower_status
148
+ end
149
+
150
+ # Custom attribute writer method with validation
151
+ # @param [Object] min_follower_count Value to be assigned
152
+ def min_follower_count=(min_follower_count)
153
+ if min_follower_count.nil?
154
+ fail ArgumentError, 'min_follower_count cannot be nil'
155
+ end
156
+
157
+ if min_follower_count < 0
158
+ fail ArgumentError, 'invalid value for "min_follower_count", must be greater than or equal to 0.'
159
+ end
160
+
161
+ @min_follower_count = min_follower_count
162
+ end
163
+
164
+ # Custom attribute writer method checking allowed values (enum).
165
+ # @param [Object] when_unknown Object to be assigned
166
+ def when_unknown=(when_unknown)
167
+ validator = EnumAttributeValidator.new('String', ["send", "skip", "verify"])
168
+ unless validator.valid?(when_unknown)
169
+ fail ArgumentError, "invalid value for \"when_unknown\", must be one of #{validator.allowable_values}."
170
+ end
171
+ @when_unknown = when_unknown
172
+ end
173
+
174
+ # Checks equality by comparing each attribute.
175
+ # @param [Object] Object to be compared
176
+ def ==(o)
177
+ return true if self.equal?(o)
178
+ self.class == o.class &&
179
+ follower_status == o.follower_status &&
180
+ min_follower_count == o.min_follower_count &&
181
+ when_unknown == o.when_unknown
182
+ end
183
+
184
+ # @see the `==` method
185
+ # @param [Object] Object to be compared
186
+ def eql?(o)
187
+ self == o
188
+ end
189
+
190
+ # Calculates hash code according to all attributes.
191
+ # @return [Integer] Hash code
192
+ def hash
193
+ [follower_status, min_follower_count, when_unknown].hash
194
+ end
195
+
196
+ # Builds the object from hash
197
+ # @param [Hash] attributes Model attributes in the form of hash
198
+ # @return [Object] Returns the model itself
199
+ def self.build_from_hash(attributes)
200
+ return nil unless attributes.is_a?(Hash)
201
+ attributes = attributes.transform_keys(&:to_sym)
202
+ transformed_hash = {}
203
+ openapi_types.each_pair do |key, type|
204
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
205
+ transformed_hash["#{key}"] = nil
206
+ elsif type =~ /\AArray<(.*)>/i
207
+ # check to ensure the input is an array given that the attribute
208
+ # is documented as an array but the input is not
209
+ if attributes[attribute_map[key]].is_a?(Array)
210
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
211
+ end
212
+ elsif !attributes[attribute_map[key]].nil?
213
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
214
+ end
215
+ end
216
+ new(transformed_hash)
217
+ end
218
+
219
+ # Returns the object in the form of hash
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_hash
222
+ hash = {}
223
+ self.class.attribute_map.each_pair do |attr, param|
224
+ value = self.send(attr)
225
+ if value.nil?
226
+ is_nullable = self.class.openapi_nullable.include?(attr)
227
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
228
+ end
229
+
230
+ hash[param] = _to_hash(value)
231
+ end
232
+ hash
233
+ end
234
+
235
+ end
236
+
237
+ end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ # Copy for the follow gate. Sensible defaults are used for any field left empty.
18
+ class CommentAutomationFollowGate < ApiModelBase
19
+ # Confirmation DM sent when whenUnknown=verify.
20
+ attr_accessor :message
21
+
22
+ # Confirm button label. Defaults to \"I'm following\".
23
+ attr_accessor :button_label
24
+
25
+ # Sent to a commenter we know does not follow (followerStatus=follower). Omit to stay silent on a keyword comment; a confirm tap always gets an answer.
26
+ attr_accessor :not_following_message
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'message' => :'message',
32
+ :'button_label' => :'buttonLabel',
33
+ :'not_following_message' => :'notFollowingMessage'
34
+ }
35
+ end
36
+
37
+ # Returns attribute mapping this model knows about
38
+ def self.acceptable_attribute_map
39
+ attribute_map
40
+ end
41
+
42
+ # Returns all the JSON keys this model knows about
43
+ def self.acceptable_attributes
44
+ acceptable_attribute_map.values
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.openapi_types
49
+ {
50
+ :'message' => :'String',
51
+ :'button_label' => :'String',
52
+ :'not_following_message' => :'String'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::CommentAutomationFollowGate` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::CommentAutomationFollowGate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
77
+
78
+ if attributes.key?(:'message')
79
+ self.message = attributes[:'message']
80
+ end
81
+
82
+ if attributes.key?(:'button_label')
83
+ self.button_label = attributes[:'button_label']
84
+ end
85
+
86
+ if attributes.key?(:'not_following_message')
87
+ self.not_following_message = attributes[:'not_following_message']
88
+ end
89
+ end
90
+
91
+ # Show invalid properties with the reasons. Usually used together with valid?
92
+ # @return Array for valid properties with the reasons
93
+ def list_invalid_properties
94
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
95
+ invalid_properties = Array.new
96
+ if !@message.nil? && @message.to_s.length > 640
97
+ invalid_properties.push('invalid value for "message", the character length must be smaller than or equal to 640.')
98
+ end
99
+
100
+ if !@button_label.nil? && @button_label.to_s.length > 20
101
+ invalid_properties.push('invalid value for "button_label", the character length must be smaller than or equal to 20.')
102
+ end
103
+
104
+ if !@not_following_message.nil? && @not_following_message.to_s.length > 1000
105
+ invalid_properties.push('invalid value for "not_following_message", the character length must be smaller than or equal to 1000.')
106
+ end
107
+
108
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ warn '[DEPRECATED] the `valid?` method is obsolete'
115
+ return false if !@message.nil? && @message.to_s.length > 640
116
+ return false if !@button_label.nil? && @button_label.to_s.length > 20
117
+ return false if !@not_following_message.nil? && @not_following_message.to_s.length > 1000
118
+ true
119
+ end
120
+
121
+ # Custom attribute writer method with validation
122
+ # @param [Object] message Value to be assigned
123
+ def message=(message)
124
+ if message.nil?
125
+ fail ArgumentError, 'message cannot be nil'
126
+ end
127
+
128
+ if message.to_s.length > 640
129
+ fail ArgumentError, 'invalid value for "message", the character length must be smaller than or equal to 640.'
130
+ end
131
+
132
+ @message = message
133
+ end
134
+
135
+ # Custom attribute writer method with validation
136
+ # @param [Object] button_label Value to be assigned
137
+ def button_label=(button_label)
138
+ if button_label.nil?
139
+ fail ArgumentError, 'button_label cannot be nil'
140
+ end
141
+
142
+ if button_label.to_s.length > 20
143
+ fail ArgumentError, 'invalid value for "button_label", the character length must be smaller than or equal to 20.'
144
+ end
145
+
146
+ @button_label = button_label
147
+ end
148
+
149
+ # Custom attribute writer method with validation
150
+ # @param [Object] not_following_message Value to be assigned
151
+ def not_following_message=(not_following_message)
152
+ if not_following_message.nil?
153
+ fail ArgumentError, 'not_following_message cannot be nil'
154
+ end
155
+
156
+ if not_following_message.to_s.length > 1000
157
+ fail ArgumentError, 'invalid value for "not_following_message", the character length must be smaller than or equal to 1000.'
158
+ end
159
+
160
+ @not_following_message = not_following_message
161
+ end
162
+
163
+ # Checks equality by comparing each attribute.
164
+ # @param [Object] Object to be compared
165
+ def ==(o)
166
+ return true if self.equal?(o)
167
+ self.class == o.class &&
168
+ message == o.message &&
169
+ button_label == o.button_label &&
170
+ not_following_message == o.not_following_message
171
+ end
172
+
173
+ # @see the `==` method
174
+ # @param [Object] Object to be compared
175
+ def eql?(o)
176
+ self == o
177
+ end
178
+
179
+ # Calculates hash code according to all attributes.
180
+ # @return [Integer] Hash code
181
+ def hash
182
+ [message, button_label, not_following_message].hash
183
+ end
184
+
185
+ # Builds the object from hash
186
+ # @param [Hash] attributes Model attributes in the form of hash
187
+ # @return [Object] Returns the model itself
188
+ def self.build_from_hash(attributes)
189
+ return nil unless attributes.is_a?(Hash)
190
+ attributes = attributes.transform_keys(&:to_sym)
191
+ transformed_hash = {}
192
+ openapi_types.each_pair do |key, type|
193
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
194
+ transformed_hash["#{key}"] = nil
195
+ elsif type =~ /\AArray<(.*)>/i
196
+ # check to ensure the input is an array given that the attribute
197
+ # is documented as an array but the input is not
198
+ if attributes[attribute_map[key]].is_a?(Array)
199
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
200
+ end
201
+ elsif !attributes[attribute_map[key]].nil?
202
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
203
+ end
204
+ end
205
+ new(transformed_hash)
206
+ end
207
+
208
+ # Returns the object in the form of hash
209
+ # @return [Hash] Returns the object in the form of hash
210
+ def to_hash
211
+ hash = {}
212
+ self.class.attribute_map.each_pair do |attr, param|
213
+ value = self.send(attr)
214
+ if value.nil?
215
+ is_nullable = self.class.openapi_nullable.include?(attr)
216
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
217
+ end
218
+
219
+ hash[param] = _to_hash(value)
220
+ end
221
+ hash
222
+ end
223
+
224
+ end
225
+
226
+ end
@@ -53,6 +53,10 @@ module Zernio
53
53
 
54
54
  attr_accessor :click_tag
55
55
 
56
+ attr_accessor :audience
57
+
58
+ attr_accessor :follow_gate
59
+
56
60
  attr_accessor :is_active
57
61
 
58
62
  attr_accessor :stats
@@ -100,6 +104,8 @@ module Zernio
100
104
  :'comment_reply_variations' => :'commentReplyVariations',
101
105
  :'link_tracking' => :'linkTracking',
102
106
  :'click_tag' => :'clickTag',
107
+ :'audience' => :'audience',
108
+ :'follow_gate' => :'followGate',
103
109
  :'is_active' => :'isActive',
104
110
  :'stats' => :'stats',
105
111
  :'created_at' => :'createdAt'
@@ -135,6 +141,8 @@ module Zernio
135
141
  :'comment_reply_variations' => :'Array<String>',
136
142
  :'link_tracking' => :'Boolean',
137
143
  :'click_tag' => :'String',
144
+ :'audience' => :'CommentAutomationAudience',
145
+ :'follow_gate' => :'CommentAutomationFollowGate',
138
146
  :'is_active' => :'Boolean',
139
147
  :'stats' => :'CreateCommentAutomation200ResponseAutomationStats',
140
148
  :'created_at' => :'Time'
@@ -237,6 +245,14 @@ module Zernio
237
245
  self.click_tag = attributes[:'click_tag']
238
246
  end
239
247
 
248
+ if attributes.key?(:'audience')
249
+ self.audience = attributes[:'audience']
250
+ end
251
+
252
+ if attributes.key?(:'follow_gate')
253
+ self.follow_gate = attributes[:'follow_gate']
254
+ end
255
+
240
256
  if attributes.key?(:'is_active')
241
257
  self.is_active = attributes[:'is_active']
242
258
  end
@@ -310,6 +326,8 @@ module Zernio
310
326
  comment_reply_variations == o.comment_reply_variations &&
311
327
  link_tracking == o.link_tracking &&
312
328
  click_tag == o.click_tag &&
329
+ audience == o.audience &&
330
+ follow_gate == o.follow_gate &&
313
331
  is_active == o.is_active &&
314
332
  stats == o.stats &&
315
333
  created_at == o.created_at
@@ -324,7 +342,7 @@ module Zernio
324
342
  # Calculates hash code according to all attributes.
325
343
  # @return [Integer] Hash code
326
344
  def 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
345
+ [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, audience, follow_gate, is_active, stats, created_at].hash
328
346
  end
329
347
 
330
348
  # Builds the object from hash
@@ -68,6 +68,10 @@ module Zernio
68
68
  # Optional tag applied to a contact when they click a tracked link (requires linkTracking). Lets you segment clickers for broadcasts/sequences.
69
69
  attr_accessor :click_tag
70
70
 
71
+ attr_accessor :audience
72
+
73
+ attr_accessor :follow_gate
74
+
71
75
  class EnumAttributeValidator
72
76
  attr_reader :datatype
73
77
  attr_reader :allowable_values
@@ -110,7 +114,9 @@ module Zernio
110
114
  :'dm_message_variations' => :'dmMessageVariations',
111
115
  :'comment_reply_variations' => :'commentReplyVariations',
112
116
  :'link_tracking' => :'linkTracking',
113
- :'click_tag' => :'clickTag'
117
+ :'click_tag' => :'clickTag',
118
+ :'audience' => :'audience',
119
+ :'follow_gate' => :'followGate'
114
120
  }
115
121
  end
116
122
 
@@ -144,7 +150,9 @@ module Zernio
144
150
  :'dm_message_variations' => :'Array<String>',
145
151
  :'comment_reply_variations' => :'Array<String>',
146
152
  :'link_tracking' => :'Boolean',
147
- :'click_tag' => :'String'
153
+ :'click_tag' => :'String',
154
+ :'audience' => :'CommentAutomationAudience',
155
+ :'follow_gate' => :'CommentAutomationFollowGate'
148
156
  }
149
157
  end
150
158
 
@@ -265,6 +273,14 @@ module Zernio
265
273
  if attributes.key?(:'click_tag')
266
274
  self.click_tag = attributes[:'click_tag']
267
275
  end
276
+
277
+ if attributes.key?(:'audience')
278
+ self.audience = attributes[:'audience']
279
+ end
280
+
281
+ if attributes.key?(:'follow_gate')
282
+ self.follow_gate = attributes[:'follow_gate']
283
+ end
268
284
  end
269
285
 
270
286
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -445,7 +461,9 @@ module Zernio
445
461
  dm_message_variations == o.dm_message_variations &&
446
462
  comment_reply_variations == o.comment_reply_variations &&
447
463
  link_tracking == o.link_tracking &&
448
- click_tag == o.click_tag
464
+ click_tag == o.click_tag &&
465
+ audience == o.audience &&
466
+ follow_gate == o.follow_gate
449
467
  end
450
468
 
451
469
  # @see the `==` method
@@ -457,7 +475,7 @@ module Zernio
457
475
  # Calculates hash code according to all attributes.
458
476
  # @return [Integer] Hash code
459
477
  def 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
478
+ [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, audience, follow_gate].hash
461
479
  end
462
480
 
463
481
  # Builds the object from hash
@@ -59,6 +59,10 @@ module Zernio
59
59
 
60
60
  attr_accessor :click_tag
61
61
 
62
+ attr_accessor :audience
63
+
64
+ attr_accessor :follow_gate
65
+
62
66
  attr_accessor :is_active
63
67
 
64
68
  attr_accessor :stats
@@ -111,6 +115,8 @@ module Zernio
111
115
  :'comment_reply_variations' => :'commentReplyVariations',
112
116
  :'link_tracking' => :'linkTracking',
113
117
  :'click_tag' => :'clickTag',
118
+ :'audience' => :'audience',
119
+ :'follow_gate' => :'followGate',
114
120
  :'is_active' => :'isActive',
115
121
  :'stats' => :'stats',
116
122
  :'created_at' => :'createdAt',
@@ -150,6 +156,8 @@ module Zernio
150
156
  :'comment_reply_variations' => :'Array<String>',
151
157
  :'link_tracking' => :'Boolean',
152
158
  :'click_tag' => :'String',
159
+ :'audience' => :'CommentAutomationAudience',
160
+ :'follow_gate' => :'CommentAutomationFollowGate',
153
161
  :'is_active' => :'Boolean',
154
162
  :'stats' => :'CreateCommentAutomation200ResponseAutomationStats',
155
163
  :'created_at' => :'Time',
@@ -265,6 +273,14 @@ module Zernio
265
273
  self.click_tag = attributes[:'click_tag']
266
274
  end
267
275
 
276
+ if attributes.key?(:'audience')
277
+ self.audience = attributes[:'audience']
278
+ end
279
+
280
+ if attributes.key?(:'follow_gate')
281
+ self.follow_gate = attributes[:'follow_gate']
282
+ end
283
+
268
284
  if attributes.key?(:'is_active')
269
285
  self.is_active = attributes[:'is_active']
270
286
  end
@@ -345,6 +361,8 @@ module Zernio
345
361
  comment_reply_variations == o.comment_reply_variations &&
346
362
  link_tracking == o.link_tracking &&
347
363
  click_tag == o.click_tag &&
364
+ audience == o.audience &&
365
+ follow_gate == o.follow_gate &&
348
366
  is_active == o.is_active &&
349
367
  stats == o.stats &&
350
368
  created_at == o.created_at &&
@@ -360,7 +378,7 @@ module Zernio
360
378
  # Calculates hash code according to all attributes.
361
379
  # @return [Integer] Hash code
362
380
  def 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
381
+ [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, audience, follow_gate, is_active, stats, created_at, updated_at].hash
364
382
  end
365
383
 
366
384
  # Builds the object from hash