iterable-api-client 0.3.2 → 0.5.0

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.
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