mailjet 1.2.0 → 1.3.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 +4 -4
- data/lib/mailjet/resource.rb +23 -5
- data/lib/mailjet/resources/aggregategraphstatistics.rb +12 -0
- data/lib/mailjet/resources/campaignaggregate.rb +12 -0
- data/lib/mailjet/resources/campaigngraphstatistics.rb +12 -0
- data/lib/mailjet/resources/campaignoverview.rb +12 -0
- data/lib/mailjet/resources/newsletter.rb +1 -1
- data/lib/mailjet/resources/newsletter_detailcontent.rb +1 -1
- data/lib/mailjet/resources/newsletter_status.rb +13 -0
- data/lib/mailjet/resources/send.rb +10 -0
- data/lib/mailjet/resources/sender_validate.rb +13 -0
- data/lib/mailjet/version.rb +1 -1
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc2b380d0a9752d1ee5a34808bfb357e50905ef2
|
4
|
+
data.tar.gz: 7ab37a7ffb8e5da6913ec46e8c28fe6f52083e7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b243e215c9ff1ad03219b9179e3ae62d29d328e7e1744c8ad03906d197beae0d2369308a630e6eaf5f805b15e61b8b69028a64939e93e79125ab502195ba833
|
7
|
+
data.tar.gz: 388cf233e0d6e362f877d520107a998ff9c5f9e8cf091362da23bb46faab85ccd9ccefb2b9dc0b3d8eeb347867aa2baa27875a3cedc04b0980782a422bc6838c
|
data/lib/mailjet/resource.rb
CHANGED
@@ -71,6 +71,7 @@ module Mailjet
|
|
71
71
|
self.resource_path = create_action_resource_path(id, job_id) if self.action
|
72
72
|
#
|
73
73
|
attributes = parse_api_json(connection[id].get(default_headers)).first
|
74
|
+
attributes[:id] = id
|
74
75
|
instanciate_from_api(attributes)
|
75
76
|
rescue Mailjet::ApiError => e
|
76
77
|
if e.code == 404
|
@@ -83,6 +84,7 @@ module Mailjet
|
|
83
84
|
def create(attributes = {})
|
84
85
|
# if action method, ammend url to appropriate id
|
85
86
|
self.resource_path = create_action_resource_path(attributes[:id]) if self.action
|
87
|
+
|
86
88
|
self.new(attributes).tap do |resource|
|
87
89
|
resource.save!
|
88
90
|
resource.persisted = true
|
@@ -106,9 +108,12 @@ module Mailjet
|
|
106
108
|
#Take the response from the API and put it through a method -- taken from the ActiveSupport library -- which converts
|
107
109
|
#the date-time from "2014-05-19T15:31:09Z" to "Mon, 19 May 2014 15:31:09 +0000" format.
|
108
110
|
response_hash = convert_dates_from(response_hash)
|
109
|
-
|
110
|
-
|
111
|
-
|
111
|
+
|
112
|
+
if response_hash['Data']
|
113
|
+
response_data_array = response_hash['Data']
|
114
|
+
else
|
115
|
+
response_data_array = response_hash
|
116
|
+
end
|
112
117
|
response_data_array.map{ |response_data| underscore_keys(response_data) }
|
113
118
|
end
|
114
119
|
|
@@ -157,7 +162,7 @@ module Mailjet
|
|
157
162
|
"#{attribute} #{direction}"
|
158
163
|
end.join(', ')
|
159
164
|
end
|
160
|
-
params
|
165
|
+
camelcase_keys params
|
161
166
|
end
|
162
167
|
|
163
168
|
def camelcase_keys(hash)
|
@@ -170,7 +175,15 @@ module Mailjet
|
|
170
175
|
|
171
176
|
def map_keys(hash, method)
|
172
177
|
hash.inject({}) do |_hash, (key, value)|
|
173
|
-
new_key = key.to_s.send(method)
|
178
|
+
# new_key = key.to_s.send(method)
|
179
|
+
new_key =
|
180
|
+
if key == "text_part"
|
181
|
+
'Text-part'
|
182
|
+
elsif key == "html_part"
|
183
|
+
'Html-part'
|
184
|
+
else
|
185
|
+
key.to_s.send(method)
|
186
|
+
end
|
174
187
|
_hash[new_key] = value
|
175
188
|
_hash
|
176
189
|
end
|
@@ -194,6 +207,11 @@ module Mailjet
|
|
194
207
|
response = connection.post(formatted_payload, default_headers)
|
195
208
|
end
|
196
209
|
|
210
|
+
if self.resource_path == 'v3/send/'
|
211
|
+
self.attributes = ActiveSupport::JSON.decode(response)
|
212
|
+
return true
|
213
|
+
end
|
214
|
+
|
197
215
|
self.attributes = parse_api_json(response).first
|
198
216
|
return true
|
199
217
|
rescue Mailjet::ApiError => e
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'mailjet/resource'
|
2
|
+
|
3
|
+
module Mailjet
|
4
|
+
class Aggregategraphstatistics
|
5
|
+
include Mailjet::Resource
|
6
|
+
self.resource_path = 'v3/REST/aggregategraphstatistics'
|
7
|
+
self.public_operations = [:get]
|
8
|
+
self.filters = [:campaign_aggregate_id, :range]
|
9
|
+
self.resourceprop = [:blocked_count, :blocked_std_dev, :bounced_count, :bounced_std_dev, :campaign_aggregate_id, :clicked_count, :clicked_std_dev, :opened_count, :open_std_dev, :ref_time_stamp, :sent_count, :sent_std_dev, :spam_complaint_count, :spam_complaint_std_dev, :unsubscribe_count, :unsubscribe_std_dev]
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'mailjet/resource'
|
2
|
+
|
3
|
+
module Mailjet
|
4
|
+
class Campaignaggregate
|
5
|
+
include Mailjet::Resource
|
6
|
+
self.resource_path = 'v3/REST/campaignaggregate'
|
7
|
+
self.public_operations = [:get, :post, :put, :delete]
|
8
|
+
self.filters = [:contact_filter, :contacts_list, :sender]
|
9
|
+
self.resourceprop = [:campaign_ids, :contact_filter_id, :campaign_filter_alt, :contacts_list_id, :contacts_list_alt, :final, :form_date, :id, :keyword, :name, :sender_id, :sender_alt, :to_dat]
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'mailjet/resource'
|
2
|
+
|
3
|
+
module Mailjet
|
4
|
+
class Campaigngraphstatistics
|
5
|
+
include Mailjet::Resource
|
6
|
+
self.resource_path = 'v3/REST/campaigngraphstatistics'
|
7
|
+
self.public_operations = [:get]
|
8
|
+
self.filters = [:click, :ids, :open, :range, :spam, :unsub]
|
9
|
+
self.resourceprop = [:click_count, :id, :opencount, :spamcount, :tick, :unsubcount]
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'mailjet/resource'
|
2
|
+
|
3
|
+
module Mailjet
|
4
|
+
class Campaignoverview
|
5
|
+
include Mailjet::Resource
|
6
|
+
self.resource_path = 'v3/REST/campaignoverview'
|
7
|
+
self.public_operations = [:get]
|
8
|
+
self.filters = [:archived, :drafts, :programmed, :sent, :starred, :subject]
|
9
|
+
self.resourceprop = [:titled, :subject, :status, :starred, :sent_time_start, :processed_count, :opened_count, :id_type, :id, :edit_type, :edit_mode, :clicked_count]
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -6,7 +6,7 @@ module Mailjet
|
|
6
6
|
self.resource_path = 'v3/REST/newsletter'
|
7
7
|
self.public_operations = [:get, :put, :post]
|
8
8
|
self.filters = [:campaign, :contacts_list, :delivered_at, :edit_mode, :is_archived, :is_campaign, :is_deleted, :is_handled, :is_starred, :modified, :news_letter_template, :segmentation, :status, :subject]
|
9
|
-
self.resourceprop = [:callback, :campaign, :contacts_list, :created_at, :delivered_at, :edit_mode, :edit_type, :footer, :footer_address, :footer_wysiwyg_type, :header_filename, :header_link, :header_text, :header_url, :id, :ip, :is_handled, :is_starred, :is_text_part_included, :locale, :modified_at, :permalink, :permalink_host, :permalink_wysiwyg_type, :politeness_mode, :reply_email, :segmentation, :sender, :sender_email, :sender_name, :status, :subject, :template, :test_address, :title, :url, 'CampaignID', 'CampaignALT', 'ContactsListID', 'ContactsListALT', 'SegmentationID', 'SegmentationALT']
|
9
|
+
self.resourceprop = [:callback, :campaign, :contacts_list, :created_at, :delivered_at, :edit_mode, :edit_type, :footer, :footer_address, :footer_wysiwyg_type, :header_filename, :header_link, :header_text, :header_url, :id, :ip, :is_handled, :is_starred, :is_text_part_included, :locale, :modified_at, :permalink, :permalink_host, :permalink_wysiwyg_type, :politeness_mode, :reply_email, :segmentation, :sender, :sender_email, :sender_name, :status, :subject, :template, :test_address, :title, :url, 'CampaignID', 'CampaignALT', 'ContactsListID', 'ContactsListALT', 'SegmentationID', 'SegmentationALT', :contacts_list_id]
|
10
10
|
|
11
11
|
end
|
12
12
|
end
|
@@ -7,7 +7,7 @@ module Mailjet
|
|
7
7
|
self.resource_path = "v3/REST/newsletter/id/#{self.action}"
|
8
8
|
self.public_operations = [:get, :put, :post, :delete]
|
9
9
|
self.filters = []
|
10
|
-
self.resourceprop = [
|
10
|
+
self.resourceprop = [:text_part, :html_part]
|
11
11
|
|
12
12
|
end
|
13
13
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'mailjet/resource'
|
2
|
+
|
3
|
+
module Mailjet
|
4
|
+
class Newsletter_status
|
5
|
+
include Mailjet::Resource
|
6
|
+
self.action = 'status'
|
7
|
+
self.resource_path = "v3/REST/newsletter/id/#{self.action}"
|
8
|
+
self.public_operations = [:get]
|
9
|
+
self.filters = []
|
10
|
+
self.resourceprop = []
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'mailjet/resource'
|
2
|
+
|
3
|
+
module Mailjet
|
4
|
+
class Send
|
5
|
+
include Mailjet::Resource
|
6
|
+
self.resource_path = 'v3/send/'
|
7
|
+
self.public_operations = [:post]
|
8
|
+
self.resourceprop = [:from_email, :from_name, :recipients, :subject, :text_part, :html_part, :attachments, :inline_attachments, :headers, 'Mj-TemplateID', 'Mj-CustomID', :message_id, :messages]
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
require 'mailjet/resource'
|
3
|
+
|
4
|
+
module Mailjet
|
5
|
+
class Sender_validate
|
6
|
+
include Mailjet::Resource
|
7
|
+
self.action = "validate"
|
8
|
+
self.resource_path = "v3/REST/sender/id/#{self.action}"
|
9
|
+
self.public_operations = [:post]
|
10
|
+
self.filters = []
|
11
|
+
self.resourceprop = []
|
12
|
+
end
|
13
|
+
end
|
data/lib/mailjet/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailjet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Nappy
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2016-01-21 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activesupport
|
@@ -289,6 +289,7 @@ files:
|
|
289
289
|
- lib/mailjet/rack/endpoint.rb
|
290
290
|
- lib/mailjet/reporting.rb
|
291
291
|
- lib/mailjet/resource.rb
|
292
|
+
- lib/mailjet/resources/aggregategraphstatistics.rb
|
292
293
|
- lib/mailjet/resources/apikey.rb
|
293
294
|
- lib/mailjet/resources/apikeyaccess.rb
|
294
295
|
- lib/mailjet/resources/apikeytotals.rb
|
@@ -297,6 +298,9 @@ files:
|
|
297
298
|
- lib/mailjet/resources/batchjob.rb
|
298
299
|
- lib/mailjet/resources/bouncestatistics.rb
|
299
300
|
- lib/mailjet/resources/campaign.rb
|
301
|
+
- lib/mailjet/resources/campaignaggregate.rb
|
302
|
+
- lib/mailjet/resources/campaigngraphstatistics.rb
|
303
|
+
- lib/mailjet/resources/campaignoverview.rb
|
300
304
|
- lib/mailjet/resources/campaignstatistics.rb
|
301
305
|
- lib/mailjet/resources/clickstatistics.rb
|
302
306
|
- lib/mailjet/resources/contact.rb
|
@@ -336,6 +340,7 @@ files:
|
|
336
340
|
- lib/mailjet/resources/newsletter_detailcontent.rb
|
337
341
|
- lib/mailjet/resources/newsletter_schedule.rb
|
338
342
|
- lib/mailjet/resources/newsletter_send.rb
|
343
|
+
- lib/mailjet/resources/newsletter_status.rb
|
339
344
|
- lib/mailjet/resources/newsletter_test.rb
|
340
345
|
- lib/mailjet/resources/newsletterblock.rb
|
341
346
|
- lib/mailjet/resources/newsletterproperties.rb
|
@@ -347,7 +352,9 @@ files:
|
|
347
352
|
- lib/mailjet/resources/openstatistics.rb
|
348
353
|
- lib/mailjet/resources/parseroute.rb
|
349
354
|
- lib/mailjet/resources/preferences.rb
|
355
|
+
- lib/mailjet/resources/send.rb
|
350
356
|
- lib/mailjet/resources/sender.rb
|
357
|
+
- lib/mailjet/resources/sender_validate.rb
|
351
358
|
- lib/mailjet/resources/senderstatistics.rb
|
352
359
|
- lib/mailjet/resources/toplinkclicked.rb
|
353
360
|
- lib/mailjet/resources/trigger.rb
|