iterable-api-client 0.3.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b456f80ce650910ada263cdb96b28a5fd188dd5afcc4aa44813e0b3892d5d946
4
- data.tar.gz: 308c15224339eb8a859cf3d9f6491907595d58da5d8bcc46c3f8223ddd356660
3
+ metadata.gz: 003ee817aaa95dc181bf7b36909387689f70ffa1ed755878eb7132a0166b0130
4
+ data.tar.gz: 3ab136966f544fc25f2431d39a99ac84e94cf5f88c1d496f1dd7b4bd2e45cff2
5
5
  SHA512:
6
- metadata.gz: 57c4ad6a3f16d3f7ab4b490bedf27b028f24f2ae1c1de9d79815740d3398d04aeffa0b42543de150a1bec6a988f3821f6f970605beb5da9a7a7890e95fcb49a2
7
- data.tar.gz: ae76c13bcb47302c41ca6b4a763b6dd53b6669da101b53f927500c73584facd143c0dbbedd922baacfea6806b82f52da84f2c2592f3255d6e7fed580ad152c36
6
+ metadata.gz: d3696c057360e661ee4f632182323a9d99a8af4110be64fce1d1dfd58980c9a13d65dc1b0767df53f17502925526949e1fc17aadc980a4b654479a34a65009bc
7
+ data.tar.gz: 874f5d7201a038ddc54437e1d0920b3c0bf77f5d5333c5ccdcd5a756e20154d0942b0920c800669e2adb8ef0d3f65a62b66644a936ed25800bf59d26bd571a93
checksums.yaml.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -124,6 +124,7 @@ reponse.uri
124
124
  - [Upsert](#email-templates-upsert)
125
125
  - [Events](#events)
126
126
  - [For Email](#events-for-email)
127
+ - [Bulk Track](#events-track-bulk)
127
128
  - [Track](#events-track)
128
129
  - [Track Push Open](#events-track-push-open)
129
130
  - [Experiments](#experiments)
@@ -133,6 +134,8 @@ reponse.uri
133
134
  - [CSV](#export-csv)
134
135
  - [In App](#in-app)
135
136
  - [Messages](#in-app-messages)
137
+ - [Target](#in-app-target)
138
+ - [Cancel](#in-app-cancel)
136
139
  - [Lists](#lists)
137
140
  - [All](#lists-all)
138
141
  - [Create](#lists-create)
@@ -149,6 +152,9 @@ reponse.uri
149
152
  - [Get Key](#metadata-get-key)
150
153
  - [Remove Key](#metadata-remove-key)
151
154
  - [Add Key](#metadata-add-key)
155
+ - [Push](#push)
156
+ - [Target](#push-target)
157
+ - [Cancel](#push-cancel)
152
158
  - [Push Templates](#push-templates)
153
159
  - [Get](#push-templates-get)
154
160
  - [Update](#push-templates-update)
@@ -300,7 +306,8 @@ Endpoint: `GET /catalogs/{catalogName}/fieldMappings`
300
306
  ```ruby
301
307
  catalog = 'my-catalog'
302
308
  catalog_field_mappings = Iterable::CatalogFieldMappings.new(catalog)
303
- response = catalog_field_mappings.field_mappings
309
+ response = catalog_field_mappings.get
310
+ response.body['params']['definedMappings']
304
311
  ```
305
312
 
306
313
  #### Catalog Field Mappings Update
@@ -557,6 +564,19 @@ attrs = { campaignId: 42, dataFields: {} }
557
564
  response = events.track 'event-name', 'user@example.com', attrs
558
565
  ```
559
566
 
567
+ #### Events Track Bulk
568
+
569
+ Endpoint: `POST /events/trackBulk`
570
+
571
+ ```ruby
572
+ events = Iterable::Events.new
573
+ # Array of events to track
574
+ events_attrs = [
575
+ { email: 'user@example.com', eventName: 'event-name', campaignId: 42, dataFields: {} }
576
+ ]
577
+ response = iterable_events.track_bulk events_attrs
578
+ ```
579
+
560
580
  #### Events Track Push Open
561
581
 
562
582
  Endpoint: `GET /events/{email}`
@@ -639,7 +659,34 @@ response = in_app.messages_for_user_id 42, count: 2
639
659
  # Pass in query parameters
640
660
  email = 'user@example.com'
641
661
  attrs = { 'platform' => 'iOS' }
642
- response = in_app.messages_for_email: email, attrs
662
+ response = in_app.messages_for_email email, attrs
663
+ ```
664
+
665
+ #### In App Target
666
+
667
+ Endpoint: `POST /inApp/target`
668
+
669
+ ```ruby
670
+ in_app = Iterable::InApp.new
671
+
672
+ # Needs campaign ID and an optional email
673
+ email = 'user@example.com'
674
+ attrs = { 'campaignId' => '123456asdf' }
675
+ response = in_app.target attrs: attrs, email: email
676
+ ```
677
+
678
+ #### In App Cancel
679
+
680
+ Endpoint: `POST /push/cancel`
681
+
682
+ ```ruby
683
+ in_app = Iterable::InApp.new
684
+
685
+ # Needs campaign ID and an optional email and optional attrs for request
686
+ email = 'user@example.com'
687
+ campaign_id = '12345asdf'
688
+ attrs = {}
689
+ response = in_app.target campaign_id: campaign_id, attrs: attrs, email: email
643
690
  ```
644
691
 
645
692
  ### Lists
@@ -776,6 +823,32 @@ value = { foo: 'bar', data: 'stuffs' }
776
823
  response = metadata_table.add 'metadata-key', value
777
824
  ```
778
825
 
826
+ ### Push
827
+
828
+ #### Push Target
829
+
830
+ Endpoint: `POST /push/target`
831
+
832
+ ```ruby
833
+ push = Iterable::Push.new
834
+ campaign_id = '1234asdf'
835
+ email = 'user@example.com' # optional
836
+ attrs = {} # optional extra params for the request
837
+ response = push.target campaign_id: campaign_id, email: email, attrs: attrs
838
+ ```
839
+
840
+ #### Push Cancel
841
+
842
+ Endpoint: `POST /push/cancel`
843
+
844
+ ```ruby
845
+ push = Iterable::Push.new
846
+ campaign_id = '1234asdf'
847
+ email = 'user@example.com' # optional
848
+ attrs = {} # optional extra params for the request
849
+ response = push.cancel email: email, campaign_id: campaign_id, attrs: attrs
850
+ ```
851
+
779
852
  ### Push Templates
780
853
 
781
854
  #### Push Templates Get
@@ -854,10 +927,10 @@ Endpoint: `POST /users/bulkUpdate`
854
927
  users = Iterable::Users.new
855
928
  # Array of users to update by email with additional
856
929
  # fields if needed
857
- users = [
930
+ users_attrs = [
858
931
  { email: 'user@example.com', userID: 'custom-id' }
859
932
  ]
860
- response = users.bulk_update users
933
+ response = users.bulk_update users_attrs
861
934
  ```
862
935
 
863
936
  #### Users Update Subscriptions
@@ -14,6 +14,7 @@ module Iterable
14
14
  # catalog = Iterable::CatalogFieldMappings.new("catalog-name", config)
15
15
  class CatalogFieldMappings < ApiResource
16
16
  attr_reader :catalog
17
+
17
18
  ##
18
19
  #
19
20
  # Initialize CatalogFieldMappings with a catalog name **currently in Beta only**
@@ -14,6 +14,7 @@ module Iterable
14
14
  # catalog = Iterable::Catalogs.new("catalog-name", config)
15
15
  class Catalogs < ApiResource
16
16
  attr_reader :name
17
+
17
18
  ##
18
19
  #
19
20
  # Initialize Catalogs with a catalog name **currently in Beta only**
@@ -39,6 +39,19 @@ module Iterable
39
39
  Iterable.request(conf, '/events/track').post(attrs)
40
40
  end
41
41
 
42
+ ##
43
+ #
44
+ # Bulk Track events
45
+ #
46
+ # @param events [Array[Hash]] Array of hashes of event details
47
+ #
48
+ # @return [Iterable::Response] A response object
49
+ #
50
+ # @note Event fields can be eventName [String], email [String], dataFields [Hash], or userId [String]
51
+ def track_bulk(events = [])
52
+ Iterable.request(conf, '/events/trackBulk').post(events: events)
53
+ end
54
+
42
55
  ##
43
56
  #
44
57
  # Track an event
@@ -13,6 +13,7 @@ module Iterable
13
13
  # templates = Iterable::Experiments.new([1, 2, 3], config)
14
14
  class Experiments < ApiResource
15
15
  attr_reader :experiment_ids
16
+
16
17
  ##
17
18
  #
18
19
  # Initialize Experiments with an array of experiment ids
@@ -57,7 +57,7 @@ module Iterable
57
57
  # @param conf [Iterable::Config] A config to optionally pass for requests
58
58
  #
59
59
  # @return [Iterable::Export]
60
- def initialize(data_type, only_fields = [], omit_fields = [], campaign_id = nil, conf = nil)
60
+ def initialize(data_type, only_fields = [], omit_fields = [], campaign_id = nil, conf = nil) # rubocop:disable Metrics/ParameterLists
61
61
  @data_type = data_type
62
62
  @only_fields = only_fields
63
63
  @omit_fields = omit_fields
@@ -41,6 +41,42 @@ module Iterable
41
41
  messages(attrs)
42
42
  end
43
43
 
44
+ ##
45
+ #
46
+ # Send an In-App notification to a specific user. User Email or ID along
47
+ # with campaign ID must be provided
48
+ #
49
+ # @param email [String] (optional) User email used to identify user
50
+ # @param campaign_id [Integer] Campaign ID
51
+ # @param attrs [Hash] Additional data to update or add
52
+ #
53
+ # @return [Iterable::Response] A response object
54
+ #
55
+ def target(campaign_id:, attrs: {}, email: nil)
56
+ attrs['recipientEmail'] = email if email
57
+ attrs['campaignId'] = campaign_id
58
+ Iterable.request(conf, '/inApp/target').post(attrs)
59
+ end
60
+
61
+ ##
62
+ #
63
+ # Cancel an In App notification sent to a specific user
64
+ # Must include either an email address AND campaignId, or
65
+ # just a scheduledMessageId provided in the attrs
66
+ #
67
+ # @param email [String] User email to cancel push
68
+ # @param campaignId [Integer] campaignID used to cancel push
69
+ # @param attrs [Hash] Additional data to update or add
70
+ #
71
+ # @return [Iterable::Response] A response object
72
+ #
73
+ # @note An email or UserId is required
74
+ def cancel(campaign_id: nil, attrs: {}, email: nil)
75
+ attrs['email'] = email if email
76
+ attrs['campaignId'] = campaign_id if campaign_id
77
+ Iterable.request(conf, '/push/cancel').post(attrs)
78
+ end
79
+
44
80
  private def messages(**attrs)
45
81
  Iterable.request(conf, '/inApp/getMessages', attrs).get
46
82
  end
@@ -13,6 +13,7 @@ module Iterable
13
13
  # templates = Iterable::MetadataTable.new("table-name", config)
14
14
  class MetadataTable < ApiResource
15
15
  attr_reader :name
16
+
16
17
  ##
17
18
  #
18
19
  # Initialize a MetadataTable with a table name
@@ -0,0 +1,46 @@
1
+ module Iterable
2
+ ##
3
+ #
4
+ # Interact with /push API endpoints
5
+ #
6
+ # @example Creating push endpoint object
7
+ # # With default config
8
+ # templates = Iterable::Push.new
9
+ # templates.target campaign_id: '12345'
10
+ #
11
+ class Push < ApiResource
12
+ ##
13
+ #
14
+ # Send a push notification to a specific user
15
+ #
16
+ # @param email [String] (optional) User email used to identify user
17
+ # @param campaign_id [Integer] Campaign ID
18
+ # @param attrs [Hash] Additional data to update or add
19
+ #
20
+ # @return [Iterable::Response] A response object
21
+ def target(campaign_id:, email: nil, attrs: {})
22
+ attrs['recipientEmail'] = email if email
23
+ attrs['campaignId'] = campaign_id
24
+ Iterable.request(conf, '/push/target').post(attrs)
25
+ end
26
+
27
+ ##
28
+ #
29
+ # Cancel a push notification to a specific user
30
+ # Must include either an email address AND campaignId, or
31
+ # just a scheduledMessageId provided in the attrs
32
+ #
33
+ # @param email [String] User email to cancel push
34
+ # @param campaignId [Integer] campaignID used to cancel push
35
+ # @param attrs [Hash] Additional data to update or add
36
+ #
37
+ # @return [Iterable::Response] A response object
38
+ #
39
+ # @note An email or UserId is required
40
+ def cancel(email: nil, campaign_id: nil, attrs: {})
41
+ attrs['email'] = email if email
42
+ attrs['campaignId'] = campaign_id if campaign_id
43
+ Iterable.request(conf, '/push/cancel').post(attrs)
44
+ end
45
+ end
46
+ end
@@ -49,7 +49,8 @@ module Iterable
49
49
  end
50
50
 
51
51
  private def connection(verb, body = {}, headers = {})
52
- conn_headers = DEFAULT_HEADERS.merge(headers)
52
+ conn_headers = DEFAULT_HEADERS.dup.merge(headers)
53
+ conn_headers['Api-Key'] = @config.token if @config.token
53
54
  req = Net::HTTP.const_get(verb.to_s.capitalize, false).new(@uri, conn_headers)
54
55
  req.body = JSON.dump(body)
55
56
  req
@@ -65,8 +66,7 @@ module Iterable
65
66
  private def build_uri(path, params = {})
66
67
  uri = @config.uri
67
68
  uri.path += path
68
- params['api_key'] = @config.token
69
- uri.query = URI.encode_www_form(params)
69
+ uri.query = URI.encode_www_form(params) unless params.empty?
70
70
  uri
71
71
  end
72
72
 
data/lib/iterable.rb CHANGED
@@ -22,6 +22,7 @@ files = %w[
22
22
  templates
23
23
  email_templates
24
24
  push_templates
25
+ push
25
26
  users
26
27
  workflows
27
28
  metadata
@@ -52,10 +53,8 @@ module Iterable
52
53
  # Iterable.configure do |conf|
53
54
  # conf.token = 'secret-token'
54
55
  # end
55
- module_function def configure
56
- config.tap do |conf|
57
- yield conf
58
- end
56
+ module_function def configure(&block)
57
+ config.tap(&block)
59
58
  end
60
59
 
61
60
  ##
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iterable-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chavez
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
@@ -35,7 +35,7 @@ cert_chain:
35
35
  skirV2p91csPqqACuQCX2oK9r29QZtt95aAnVdsdBMA+evI2nVknO0OhYDqNA0wR
36
36
  SkUCdTSDgV9CsbN/vy6DeR0eX1kP6OrntZJjKnrncbkKZnrJ5fjzKtUyj3I=
37
37
  -----END CERTIFICATE-----
38
- date: 2022-05-16 00:00:00.000000000 Z
38
+ date: 2023-01-18 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: multi_json
@@ -52,173 +52,187 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.12.0
54
54
  - !ruby/object:Gem::Dependency
55
- name: coveralls
55
+ name: dotenv
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 0.8.21
60
+ version: 2.7.1
61
61
  type: :development
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: 0.8.21
67
+ version: 2.7.1
68
68
  - !ruby/object:Gem::Dependency
69
- name: dotenv
69
+ name: gemcutter
70
70
  requirement: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: 2.2.0
74
+ version: 0.7.1
75
75
  type: :development
76
76
  prerelease: false
77
77
  version_requirements: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 2.2.0
81
+ version: 0.7.1
82
82
  - !ruby/object:Gem::Dependency
83
- name: gemcutter
83
+ name: pry
84
84
  requirement: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: 0.7.1
88
+ version: 0.14.1
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 0.7.1
95
+ version: 0.14.1
96
96
  - !ruby/object:Gem::Dependency
97
- name: multi_json
97
+ name: pry-byebug
98
98
  requirement: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 1.12.1
102
+ version: 3.8.0
103
103
  type: :development
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 1.12.1
109
+ version: 3.8.0
110
110
  - !ruby/object:Gem::Dependency
111
- name: pry
111
+ name: pry-doc
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: 0.10.4
116
+ version: 1.3.0
117
117
  type: :development
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: 0.10.4
123
+ version: 1.3.0
124
124
  - !ruby/object:Gem::Dependency
125
- name: pry-byebug
125
+ name: rake
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: 3.4.2
130
+ version: 13.0.0
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: 3.4.2
137
+ version: 13.0.0
138
138
  - !ruby/object:Gem::Dependency
139
- name: pry-doc
139
+ name: redcarpet
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: 0.11.1
144
+ version: 3.5.0
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: 0.11.1
151
+ version: 3.5.0
152
152
  - !ruby/object:Gem::Dependency
153
- name: rake
153
+ name: rspec
154
154
  requirement: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: 12.0.0
158
+ version: 3.11.0
159
159
  type: :development
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: 12.0.0
165
+ version: 3.11.0
166
166
  - !ruby/object:Gem::Dependency
167
- name: redcarpet
167
+ name: rubocop
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 3.4.0
172
+ version: 1.29.1
173
173
  type: :development
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: 3.4.0
179
+ version: 1.29.1
180
180
  - !ruby/object:Gem::Dependency
181
- name: rspec
181
+ name: rubocop-performance
182
182
  requirement: !ruby/object:Gem::Requirement
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: 3.6.0
186
+ version: 1.13.3
187
187
  type: :development
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
191
  - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: 3.6.0
193
+ version: 1.13.3
194
194
  - !ruby/object:Gem::Dependency
195
- name: rubocop
195
+ name: rubocop-rspec
196
196
  requirement: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: 0.89.1
200
+ version: 2.11.0
201
201
  type: :development
202
202
  prerelease: false
203
203
  version_requirements: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - "~>"
206
206
  - !ruby/object:Gem::Version
207
- version: 0.89.1
207
+ version: 2.11.0
208
208
  - !ruby/object:Gem::Dependency
209
209
  name: simplecov
210
210
  requirement: !ruby/object:Gem::Requirement
211
211
  requirements:
212
212
  - - "~>"
213
213
  - !ruby/object:Gem::Version
214
- version: 0.14.1
214
+ version: 0.21.2
215
215
  type: :development
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - "~>"
220
220
  - !ruby/object:Gem::Version
221
- version: 0.14.1
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
222
236
  - !ruby/object:Gem::Dependency
223
237
  name: typhoeus
224
238
  requirement: !ruby/object:Gem::Requirement
@@ -253,28 +267,28 @@ dependencies:
253
267
  requirements:
254
268
  - - "~>"
255
269
  - !ruby/object:Gem::Version
256
- version: 3.8.3
270
+ version: 3.14.0
257
271
  type: :development
258
272
  prerelease: false
259
273
  version_requirements: !ruby/object:Gem::Requirement
260
274
  requirements:
261
275
  - - "~>"
262
276
  - !ruby/object:Gem::Version
263
- version: 3.8.3
277
+ version: 3.14.0
264
278
  - !ruby/object:Gem::Dependency
265
279
  name: yard
266
280
  requirement: !ruby/object:Gem::Requirement
267
281
  requirements:
268
282
  - - "~>"
269
283
  - !ruby/object:Gem::Version
270
- version: 0.9.5
284
+ version: 0.9.11
271
285
  type: :development
272
286
  prerelease: false
273
287
  version_requirements: !ruby/object:Gem::Requirement
274
288
  requirements:
275
289
  - - "~>"
276
290
  - !ruby/object:Gem::Version
277
- version: 0.9.5
291
+ version: 0.9.11
278
292
  description: Ruby gem for the Iterable REST API
279
293
  email: contact@el-chavez.me
280
294
  executables: []
@@ -308,6 +322,7 @@ files:
308
322
  - lib/iterable/message_types.rb
309
323
  - lib/iterable/metadata.rb
310
324
  - lib/iterable/metadata_table.rb
325
+ - lib/iterable/push.rb
311
326
  - lib/iterable/push_templates.rb
312
327
  - lib/iterable/request.rb
313
328
  - lib/iterable/response.rb
@@ -315,11 +330,12 @@ files:
315
330
  - lib/iterable/users.rb
316
331
  - lib/iterable/workflows.rb
317
332
  - lib/iterable_api_client.rb
318
- homepage: http://gitlab.com/mtchavez/iterable
333
+ homepage: https://gitlab.com/mtchavez/iterable
319
334
  licenses:
320
335
  - MIT
321
- metadata: {}
322
- post_install_message:
336
+ metadata:
337
+ rubygems_mfa_required: 'true'
338
+ post_install_message:
323
339
  rdoc_options:
324
340
  - "--charset=UTF-8"
325
341
  - "--main=README.md"
@@ -329,15 +345,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
329
345
  requirements:
330
346
  - - ">="
331
347
  - !ruby/object:Gem::Version
332
- version: 2.4.0
348
+ version: 2.6.0
333
349
  required_rubygems_version: !ruby/object:Gem::Requirement
334
350
  requirements:
335
351
  - - ">="
336
352
  - !ruby/object:Gem::Version
337
353
  version: '0'
338
354
  requirements: []
339
- rubygems_version: 3.0.3
340
- signing_key:
355
+ rubygems_version: 3.1.6
356
+ signing_key:
341
357
  specification_version: 4
342
358
  summary: Iterable REST API Client
343
359
  test_files: []
metadata.gz.sig CHANGED
Binary file