iterable-api-client 0.5.0 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.md +5 -1
- data/bin/tapioca +27 -0
- data/lib/iterable/api_resource.rb +7 -0
- data/lib/iterable/bulk_catalog_items.rb +13 -3
- data/lib/iterable/campaigns.rb +22 -5
- data/lib/iterable/catalog_field_mappings.rb +10 -1
- data/lib/iterable/catalog_items.rb +15 -0
- data/lib/iterable/catalogs.rb +7 -0
- data/lib/iterable/channels.rb +3 -0
- data/lib/iterable/commerce.rb +16 -0
- data/lib/iterable/config.rb +6 -0
- data/lib/iterable/csv_exporter.rb +3 -0
- data/lib/iterable/device.rb +14 -0
- data/lib/iterable/email.rb +23 -3
- data/lib/iterable/email_templates.rb +20 -0
- data/lib/iterable/events.rb +24 -0
- data/lib/iterable/experiments.rb +18 -5
- data/lib/iterable/export.rb +35 -6
- data/lib/iterable/in_app.rb +35 -6
- data/lib/iterable/json_exporter.rb +3 -0
- data/lib/iterable/lists.rb +29 -3
- data/lib/iterable/message_types.rb +3 -0
- data/lib/iterable/metadata.rb +3 -0
- data/lib/iterable/metadata_table.rb +22 -1
- data/lib/iterable/push.rb +24 -2
- data/lib/iterable/push_templates.rb +20 -0
- data/lib/iterable/request.rb +31 -0
- data/lib/iterable/response.rb +17 -3
- data/lib/iterable/templates.rb +24 -0
- data/lib/iterable/users.rb +80 -0
- data/lib/iterable/workflows.rb +11 -0
- data/lib/iterable-api-client.rb +6 -1
- data/lib/iterable.rb +15 -1
- data/lib/iterable_api_client.rb +3 -1
- data.tar.gz.sig +0 -0
- metadata +38 -261
- metadata.gz.sig +0 -0
data/lib/iterable/templates.rb
CHANGED
@@ -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
|
data/lib/iterable/users.rb
CHANGED
@@ -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)
|
data/lib/iterable/workflows.rb
CHANGED
@@ -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)
|
data/lib/iterable-api-client.rb
CHANGED
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
|
83
|
+
T.let(Request.new(conf, path, params), Iterable::Request)
|
70
84
|
end
|
71
85
|
end
|
data/lib/iterable_api_client.rb
CHANGED
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.
|
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
|
-
|
15
|
+
bWUwHhcNMjMxMTAzMTI0NjI4WhcNMjQxMTAyMTI0NjI4WjBBMRAwDgYDVQQDDAdj
|
16
16
|
b250YWN0MRkwFwYKCZImiZPyLGQBGRYJZWwtY2hhdmV6MRIwEAYKCZImiZPyLGQB
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
GRYCbWUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCwyzAiKGW5Wpd1
|
18
|
+
JkK1efHmNNBxHPUJKCwcawrn3nQpdxlcnyxFm09+Ve7iCdhdrDbSX9CwurBBOXPO
|
19
|
+
2KjRAW/rTLoccT69XLUZDFtnqPYQUKWiAiYlbX3s5+2vJoU3OenWWLIFMEm/pRv4
|
20
|
+
x13nCXJu9Jd+9J7ILEFcrCPbhkDaUnU7bU5aqqwTfFSqgUh6V7Drg2+HFmRxHbbX
|
21
|
+
N6j3Fblr8/bCg5c8+PsE6jGOAQcxN4wz0stDJIPnlKo9a5pni27wLyI45fhhRibW
|
22
|
+
5h3Qk1hsbmUJcsgOOwGn5ZjoB7fn0KaVjnozsTuxc2NyO0BaxY3ypxy+F1XIJ1rp
|
23
|
+
Ba3+HC8BNrjMLCW3C74j/Xq/3/btDP7YHBXW+maD9XvPCZTbyJ21q+hhAs48r0zG
|
24
|
+
hPtrv5Muw7QXuwY+goYdA4BvU/U1/+waZMSzbaY1OZtBHCWXGKl7hADMEeHaZ7of
|
25
|
+
jhUfuFlBDOmfTOUDCMy2nIZJ+AKBpwExLXXiVJH/hHV+TWD+QmkCAwEAAaN7MHkw
|
26
|
+
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGbko4JeDdU0PmxWZKeE
|
27
|
+
vDRbXLEuMB8GA1UdEQQYMBaBFGNvbnRhY3RAZWwtY2hhdmV6Lm1lMB8GA1UdEgQY
|
28
|
+
MBaBFGNvbnRhY3RAZWwtY2hhdmV6Lm1lMA0GCSqGSIb3DQEBCwUAA4IBgQBHNG6m
|
29
|
+
qf8zXX/sLG44km0YhTLbjDyUm2p181iVbOQKDp2IVOKRGRFTEhZdXX0cmRTtvmVg
|
30
|
+
d47dFqaquB9Y73UB/s/bUcmbCwMAkgtSZ1wS2yHUQZEVEyZ9IVJxRp6a/dXccue3
|
31
|
+
U7nins2YnMVIgz7f5+TBv6w6IoUy7A+vcGwVCjU5cJ0E1zuuCtMnTxmgLc8RnTBS
|
32
|
+
bfpibGhHkmdDHkEGDAi+bBrx2ebptW7pQeDtaRVrEW3MKfJNes1oJJKfdxb2xtkf
|
33
|
+
n63D/wE5M63E3iHSvJVHBNPkpa942SxwN836Ce8/P8E57ylGlVdFmQ1uRIvizdki
|
34
|
+
2FdLmUSM6E2v7Y8eKZD7hmo1Um4eI5POl0XfSaC3FAgG/QJ1P4CaGYaKjT98dOw2
|
35
|
+
JWT1CLPse7JUSW9NGp9hbZqX+FdmVho8u3BpQwtAvZB2dIiRLcaqEqxBRnt4jHCq
|
36
|
+
vGIdgu0GJEzPUTqCcDfDQUuNIvjN04ZHfnA5Q3m/I6jypQHs9LNqpo1BQzk=
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2023-
|
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:
|
138
|
-
|
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:
|
53
|
+
version: 1.15.0
|
278
54
|
- !ruby/object:Gem::Dependency
|
279
|
-
name:
|
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
|
285
|
-
type: :
|
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
|
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:
|
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.
|
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
|