iterable-api-client 0.5.0 → 0.6.2

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.
@@ -1,3 +1,5 @@
1
+ # typed: true
2
+
1
3
  module Iterable
2
4
  ##
3
5
  #
@@ -22,13 +24,35 @@ module Iterable
22
24
 
23
25
  ##
24
26
  #
27
+ #
25
28
  # Get all templates
26
29
  #
27
30
  # @return [Iterable::Response] A response object
31
+ sig do
32
+ params(
33
+ params: T::Hash[
34
+ T.any(Symbol, String),
35
+ T.any(T::Boolean, Integer, String, Float)
36
+ ]
37
+ ).returns(Iterable::Response)
38
+ end
28
39
  def all(params = {})
29
40
  Iterable.request(conf, '/templates', params).get
30
41
  end
31
42
 
43
+ ##
44
+ #
45
+ #
46
+ # Get a template by client template ID
47
+ #
48
+ # @param client_template_id [String|Integer] The client template ID to find by
49
+ #
50
+ # @return [Iterable::Response] A response object
51
+ sig do
52
+ params(
53
+ client_template_id: T.any(String, Integer)
54
+ ).returns(Iterable::Response)
55
+ end
32
56
  def for_client_template_id(client_template_id)
33
57
  params = { clientTemplateId: client_template_id }
34
58
  Iterable.request(conf, '/templates/getByClientTemplateId', params).get
@@ -1,3 +1,5 @@
1
+ # typed: true
2
+
1
3
  module Iterable
2
4
  ##
3
5
  #
@@ -21,6 +23,15 @@ module Iterable
21
23
  # @param attrs [Hash] Additional data to update or add
22
24
  #
23
25
  # @return [Iterable::Response] A response object
26
+ sig do
27
+ params(
28
+ email: String,
29
+ attrs: T::Hash[
30
+ T.any(Symbol, String),
31
+ T.any(T::Boolean, String, Integer, Float)
32
+ ]
33
+ ).returns(Iterable::Response)
34
+ end
24
35
  def update(email, attrs = {})
25
36
  attrs['email'] = email
26
37
  Iterable.request(conf, '/users/update').post(attrs)
@@ -36,6 +47,16 @@ module Iterable
36
47
  # @return [Iterable::Response] A response object
37
48
  #
38
49
  # @note User fields can be email [String], dataFields [Hash], or userId [String]
50
+ sig do
51
+ params(
52
+ users: T::Array[
53
+ T::Hash[
54
+ T.any(Symbol, String),
55
+ T.any(T::Boolean, String, Integer, Float, Hash)
56
+ ]
57
+ ]
58
+ ).returns(Iterable::Response)
59
+ end
39
60
  def bulk_update(users = [])
40
61
  Iterable.request(conf, '/users/bulkUpdate').post(users: users)
41
62
  end
@@ -49,6 +70,15 @@ module Iterable
49
70
  # @param attrs [Hash] Additional data to update
50
71
  #
51
72
  # @return [Iterable::Response] A response object
73
+ sig do
74
+ params(
75
+ email: String,
76
+ attrs: T::Hash[
77
+ T.any(Symbol, String),
78
+ T.any(T::Boolean, String, Integer, Float)
79
+ ]
80
+ ).returns(Iterable::Response)
81
+ end
52
82
  def update_subscriptions(email, attrs = {})
53
83
  attrs['email'] = email
54
84
  Iterable.request(conf, '/users/updateSubscriptions').post(attrs)
@@ -65,6 +95,16 @@ module Iterable
65
95
  #
66
96
  # @note Refer to [Iterable::Users#update_subscriptions] for what subscription
67
97
  # information is needed such as email
98
+ sig do
99
+ params(
100
+ subscriptions: T::Array[
101
+ T::Hash[
102
+ T.any(Symbol, String),
103
+ T.any(T::Boolean, String, Integer, Float, Hash)
104
+ ]
105
+ ]
106
+ ).returns(Iterable::Response)
107
+ end
68
108
  def bulk_update_subscriptions(subscriptions = [])
69
109
  attrs = { updateSubscriptionsRequests: subscriptions }
70
110
  Iterable.request(conf, '/users/bulkUpdateSubscriptions').post(attrs)
@@ -77,6 +117,7 @@ module Iterable
77
117
  # @param email [String] The email of the user to get
78
118
  #
79
119
  # @return [Iterable::Response] A response object
120
+ sig { params(email: String).returns(Iterable::Response) }
80
121
  def for_email(email)
81
122
  Iterable.request(conf, "/users/#{email}").get
82
123
  end
@@ -88,6 +129,12 @@ module Iterable
88
129
  # @param email [String] The email of the user to get
89
130
  #
90
131
  # @return [Iterable::Response] A response object
132
+ sig do
133
+ params(
134
+ email: String,
135
+ new_email: String
136
+ ).returns(Iterable::Response)
137
+ end
91
138
  def update_email(email, new_email)
92
139
  attrs = { currentEmail: email, newEmail: new_email }
93
140
  Iterable.request(conf, '/users/updateEmail').post(attrs)
@@ -100,6 +147,7 @@ module Iterable
100
147
  # @param email [String] The email of the user to delete
101
148
  #
102
149
  # @return [Iterable::Response] A response object
150
+ sig { params(email: String).returns(Iterable::Response) }
103
151
  def delete(email)
104
152
  Iterable.request(conf, "/users/#{email}").delete
105
153
  end
@@ -111,6 +159,7 @@ module Iterable
111
159
  # @param user_id [String] The userId of the user to delete
112
160
  #
113
161
  # @return [Iterable::Response] A response object
162
+ sig { params(user_id: T.any(String, Integer)).returns(Iterable::Response) }
114
163
  def delete_by_id(user_id)
115
164
  Iterable.request(conf, "/users/byUserId/#{user_id}").delete
116
165
  end
@@ -122,6 +171,7 @@ module Iterable
122
171
  # @param user_id [String] The user ID of the user to get
123
172
  #
124
173
  # @return [Iterable::Response] A response object
174
+ sig { params(user_id: T.any(String, Integer)).returns(Iterable::Response) }
125
175
  def for_id(user_id)
126
176
  Iterable.request(conf, "/users/byUserId/#{user_id}").get
127
177
  end
@@ -131,6 +181,7 @@ module Iterable
131
181
  # Get the user fields with mappings from field to type
132
182
  #
133
183
  # @return [Iterable::Response] A response object
184
+ sig { returns(Iterable::Response) }
134
185
  def fields
135
186
  Iterable.request(conf, '/users/getFields').get
136
187
  end
@@ -146,6 +197,16 @@ module Iterable
146
197
  # @return [Iterable::Response] A response object
147
198
  #
148
199
  # @note An email or userId is required
200
+ sig do
201
+ params(
202
+ email: String,
203
+ token: String,
204
+ attrs: T::Hash[
205
+ T.any(Symbol, String),
206
+ T.any(T::Boolean, String, Integer, Float, Hash)
207
+ ]
208
+ ).returns(Iterable::Response)
209
+ end
149
210
  def register_browser_token(email, token, attrs = {})
150
211
  attrs[:email] = email
151
212
  attrs[:browserToken] = token
@@ -163,6 +224,13 @@ module Iterable
163
224
  # @return [Iterable::Response] A response object
164
225
  #
165
226
  # @note An email or userId is required
227
+ sig do
228
+ params(
229
+ token: String,
230
+ email: T.nilable(String),
231
+ user_id: T.nilable(T.any(String, Integer))
232
+ ).returns(Iterable::Response)
233
+ end
166
234
  def disable_device(token, email = nil, user_id = nil)
167
235
  attrs = { token: token }
168
236
  attrs[:email] = email if email
@@ -180,6 +248,17 @@ module Iterable
180
248
  # @param params [Hash] Additional params to use to filter messages further
181
249
  #
182
250
  # @return [Iterable::Response] A response object
251
+ sig do
252
+ params(
253
+ email: String,
254
+ start_time: T.nilable(T.any(Time, Date)),
255
+ end_time: T.nilable(T.any(Time, Date)),
256
+ params: T::Hash[
257
+ T.any(Symbol, String),
258
+ T.any(T::Boolean, String, Integer, Float, Hash)
259
+ ]
260
+ ).returns(Iterable::Response)
261
+ end
183
262
  def sent_messages(email, start_time = nil, end_time = nil, params = {})
184
263
  params[:email] = email
185
264
  params[:startTime] = start_time.to_s if start_time
@@ -195,6 +274,7 @@ module Iterable
195
274
  # @param email [String] User email to forget
196
275
  #
197
276
  # @return [Iterable::Response] A response object
277
+ sig { params(email: String).returns(Iterable::Response) }
198
278
  def forget(email)
199
279
  attrs = { email: email }
200
280
  Iterable.request(conf, '/users/forget').post(attrs)
@@ -1,3 +1,5 @@
1
+ # typed: true
2
+
1
3
  module Iterable
2
4
  ##
3
5
  #
@@ -22,6 +24,15 @@ module Iterable
22
24
  # @return [Iterable::Response] A response object
23
25
  #
24
26
  # @note An email or listId is required to trigger a workflow
27
+ sig do
28
+ params(
29
+ workflow_id: T.any(String, Integer),
30
+ attrs: T::Hash[
31
+ T.any(Symbol, String),
32
+ T.any(T::Boolean, String, Integer, Float, Hash)
33
+ ]
34
+ ).returns(Iterable::Response)
35
+ end
25
36
  def trigger(workflow_id, attrs = {})
26
37
  attrs['workflowId'] = workflow_id
27
38
  Iterable.request(conf, '/workflows/triggerWorkflow').post(attrs)
@@ -1 +1,6 @@
1
- require_relative './iterable' # rubocop:disable Style/FileName
1
+ # rubocop:disable Naming/FileName
2
+ # typed: strict
3
+
4
+ require_relative 'iterable'
5
+
6
+ # rubocop:enable Naming/FileName
data/lib/iterable.rb CHANGED
@@ -1,6 +1,9 @@
1
+ # typed: true
2
+
1
3
  require 'json'
2
4
  require 'net/http'
3
5
  require 'uri'
6
+ require 'sorbet-runtime'
4
7
 
5
8
  require 'multi_json'
6
9
 
@@ -42,6 +45,8 @@ files.each { |path| require_relative "./iterable/#{path}" }
42
45
  #
43
46
  # Iterable module for API interactions
44
47
  module Iterable
48
+ extend T::Sig
49
+
45
50
  DATE_FORMAT = '%Y-%m-%d'.freeze
46
51
 
47
52
  ##
@@ -53,6 +58,7 @@ module Iterable
53
58
  # Iterable.configure do |conf|
54
59
  # conf.token = 'secret-token'
55
60
  # end
61
+ sig { params(block: T.proc.params(arg0: T.untyped).void).returns(Iterable::Config) }
56
62
  module_function def configure(&block)
57
63
  config.tap(&block)
58
64
  end
@@ -60,12 +66,20 @@ module Iterable
60
66
  ##
61
67
  #
62
68
  # @return [Iterable::Config] The default config for API endpoints
69
+ sig { returns(Iterable::Config) }
63
70
  module_function def config
64
71
  @config ||= Config.new
65
72
  end
66
73
 
67
74
  # @!visibility private
75
+ sig do
76
+ params(
77
+ conf: Iterable::Config,
78
+ path: String,
79
+ params: Hash
80
+ ).returns(Iterable::Request)
81
+ end
68
82
  module_function def request(conf, path, params = {})
69
- Request.new conf, path, params
83
+ T.let(Request.new(conf, path, params), Iterable::Request)
70
84
  end
71
85
  end
@@ -1 +1,3 @@
1
- require_relative './iterable'
1
+ # typed: strict
2
+
3
+ require_relative 'iterable'
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,294 +1,70 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iterable-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chavez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMRAwDgYDVQQDDAdjb250
14
14
  YWN0MRkwFwYKCZImiZPyLGQBGRYJZWwtY2hhdmV6MRIwEAYKCZImiZPyLGQBGRYC
15
- bWUwHhcNMjIwNTE2MTYzNDEwWhcNMjMwNTE2MTYzNDEwWjBBMRAwDgYDVQQDDAdj
15
+ bWUwHhcNMjMxMTAzMTI0NjI4WhcNMjQxMTAyMTI0NjI4WjBBMRAwDgYDVQQDDAdj
16
16
  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
- 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
- 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
- YMhh38X9Ob7y3F/3G4CMu0MHGgIbzbQMs58pBfyBCB9u9ELVyzrHt4okThHG+KgN
20
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 0x3oyP02MB8GA1UdEQQYMBaBFGNvbnRhY3RAZWwtY2hhdmV6Lm1lMB8GA1UdEgQY
28
- MBaBFGNvbnRhY3RAZWwtY2hhdmV6Lm1lMA0GCSqGSIb3DQEBCwUAA4IBgQAAjCBc
29
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
37
37
  -----END CERTIFICATE-----
38
- date: 2023-01-18 00:00:00.000000000 Z
38
+ date: 2023-12-16 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: multi_json
42
42
  requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 1.12.0
47
- type: :runtime
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 1.12.0
54
- - !ruby/object:Gem::Dependency
55
- name: dotenv
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: 2.7.1
61
- type: :development
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: 2.7.1
68
- - !ruby/object:Gem::Dependency
69
- name: gemcutter
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: 0.7.1
75
- type: :development
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: 0.7.1
82
- - !ruby/object:Gem::Dependency
83
- name: pry
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: 0.14.1
89
- type: :development
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 0.14.1
96
- - !ruby/object:Gem::Dependency
97
- name: pry-byebug
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: 3.8.0
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: 3.8.0
110
- - !ruby/object:Gem::Dependency
111
- name: pry-doc
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- version: 1.3.0
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: 1.3.0
124
- - !ruby/object:Gem::Dependency
125
- name: rake
126
- requirement: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 13.0.0
131
- type: :development
132
- prerelease: false
133
- version_requirements: !ruby/object:Gem::Requirement
134
43
  requirements:
135
44
  - - "~>"
136
45
  - !ruby/object:Gem::Version
137
- version: 13.0.0
138
- - !ruby/object:Gem::Dependency
139
- name: redcarpet
140
- requirement: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - "~>"
143
- - !ruby/object:Gem::Version
144
- version: 3.5.0
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: 3.5.0
152
- - !ruby/object:Gem::Dependency
153
- name: rspec
154
- requirement: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - "~>"
157
- - !ruby/object:Gem::Version
158
- version: 3.11.0
159
- type: :development
160
- prerelease: false
161
- version_requirements: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - "~>"
164
- - !ruby/object:Gem::Version
165
- version: 3.11.0
166
- - !ruby/object:Gem::Dependency
167
- name: rubocop
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - "~>"
171
- - !ruby/object:Gem::Version
172
- version: 1.29.1
173
- type: :development
174
- prerelease: false
175
- version_requirements: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - "~>"
178
- - !ruby/object:Gem::Version
179
- version: 1.29.1
180
- - !ruby/object:Gem::Dependency
181
- name: rubocop-performance
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "~>"
185
- - !ruby/object:Gem::Version
186
- version: 1.13.3
187
- type: :development
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "~>"
192
- - !ruby/object:Gem::Version
193
- version: 1.13.3
194
- - !ruby/object:Gem::Dependency
195
- name: rubocop-rspec
196
- requirement: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - "~>"
199
- - !ruby/object:Gem::Version
200
- version: 2.11.0
201
- type: :development
202
- prerelease: false
203
- version_requirements: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - "~>"
206
- - !ruby/object:Gem::Version
207
- version: 2.11.0
208
- - !ruby/object:Gem::Dependency
209
- name: simplecov
210
- requirement: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - "~>"
213
- - !ruby/object:Gem::Version
214
- version: 0.21.2
215
- type: :development
216
- prerelease: false
217
- version_requirements: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - "~>"
220
- - !ruby/object:Gem::Version
221
- version: 0.21.2
222
- - !ruby/object:Gem::Dependency
223
- name: simplecov-cobertura
224
- requirement: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - "~>"
227
- - !ruby/object:Gem::Version
228
- version: 2.1.0
229
- type: :development
230
- prerelease: false
231
- version_requirements: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - "~>"
234
- - !ruby/object:Gem::Version
235
- version: 2.1.0
236
- - !ruby/object:Gem::Dependency
237
- name: typhoeus
238
- requirement: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - "~>"
241
- - !ruby/object:Gem::Version
242
- version: 1.4.0
243
- type: :development
244
- prerelease: false
245
- version_requirements: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - "~>"
248
- - !ruby/object:Gem::Version
249
- version: 1.4.0
250
- - !ruby/object:Gem::Dependency
251
- name: vcr
252
- requirement: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - "~>"
255
- - !ruby/object:Gem::Version
256
- version: 3.0.3
257
- type: :development
258
- prerelease: false
259
- version_requirements: !ruby/object:Gem::Requirement
260
- requirements:
261
- - - "~>"
262
- - !ruby/object:Gem::Version
263
- version: 3.0.3
264
- - !ruby/object:Gem::Dependency
265
- name: webmock
266
- requirement: !ruby/object:Gem::Requirement
267
- requirements:
268
- - - "~>"
269
- - !ruby/object:Gem::Version
270
- version: 3.14.0
271
- type: :development
46
+ version: 1.15.0
47
+ type: :runtime
272
48
  prerelease: false
273
49
  version_requirements: !ruby/object:Gem::Requirement
274
50
  requirements:
275
51
  - - "~>"
276
52
  - !ruby/object:Gem::Version
277
- version: 3.14.0
53
+ version: 1.15.0
278
54
  - !ruby/object:Gem::Dependency
279
- name: yard
55
+ name: sorbet-runtime
280
56
  requirement: !ruby/object:Gem::Requirement
281
57
  requirements:
282
- - - "~>"
58
+ - - ">="
283
59
  - !ruby/object:Gem::Version
284
- version: 0.9.11
285
- type: :development
60
+ version: '0'
61
+ type: :runtime
286
62
  prerelease: false
287
63
  version_requirements: !ruby/object:Gem::Requirement
288
64
  requirements:
289
- - - "~>"
65
+ - - ">="
290
66
  - !ruby/object:Gem::Version
291
- version: 0.9.11
67
+ version: '0'
292
68
  description: Ruby gem for the Iterable REST API
293
69
  email: contact@el-chavez.me
294
70
  executables: []
@@ -298,6 +74,7 @@ extra_rdoc_files:
298
74
  files:
299
75
  - README.md
300
76
  - bin/console
77
+ - bin/tapioca
301
78
  - lib/iterable-api-client.rb
302
79
  - lib/iterable.rb
303
80
  - lib/iterable/api_resource.rb
@@ -335,7 +112,7 @@ licenses:
335
112
  - MIT
336
113
  metadata:
337
114
  rubygems_mfa_required: 'true'
338
- post_install_message:
115
+ post_install_message:
339
116
  rdoc_options:
340
117
  - "--charset=UTF-8"
341
118
  - "--main=README.md"
@@ -345,15 +122,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
345
122
  requirements:
346
123
  - - ">="
347
124
  - !ruby/object:Gem::Version
348
- version: 2.6.0
125
+ version: 3.0.0
349
126
  required_rubygems_version: !ruby/object:Gem::Requirement
350
127
  requirements:
351
128
  - - ">="
352
129
  - !ruby/object:Gem::Version
353
130
  version: '0'
354
131
  requirements: []
355
- rubygems_version: 3.1.6
356
- signing_key:
132
+ rubygems_version: 3.4.10
133
+ signing_key:
357
134
  specification_version: 4
358
135
  summary: Iterable REST API Client
359
136
  test_files: []
metadata.gz.sig CHANGED
Binary file