mailgun-ruby 1.1.9 → 1.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -0
- data/.rubocop_todo.yml +0 -0
- data/.ruby-env.yml.example +0 -0
- data/.travis.yml +6 -5
- data/CHANGELOG.md +16 -0
- data/Gemfile +1 -1
- data/README.md +27 -3
- data/docs/Domains.md +3 -0
- data/docs/OptInHandler.md +1 -1
- data/docs/Snippets.md +54 -61
- data/docs/Webhooks.md +0 -0
- data/docs/railgun/Overview.md +11 -0
- data/docs/railgun/Parameters.md +83 -0
- data/docs/railgun/Templates.md +92 -0
- data/lib/mailgun/address.rb +3 -28
- data/lib/mailgun/chains.rb +0 -0
- data/lib/mailgun/client.rb +44 -9
- data/lib/mailgun/domains/domains.rb +20 -2
- data/lib/mailgun/events/events.rb +2 -2
- data/lib/mailgun/exceptions/exceptions.rb +28 -1
- data/lib/mailgun/messages/batch_message.rb +1 -0
- data/lib/mailgun/messages/message_builder.rb +56 -8
- data/lib/mailgun/response.rb +7 -0
- data/lib/mailgun/suppressions.rb +15 -8
- data/lib/mailgun/templates/templates.rb +187 -0
- data/lib/mailgun/version.rb +1 -1
- data/lib/mailgun/webhooks/webhooks.rb +2 -2
- data/lib/mailgun-ruby.rb +1 -1
- data/lib/mailgun.rb +4 -1
- data/lib/railgun/mailer.rb +83 -12
- data/lib/railgun/message.rb +2 -1
- data/lib/railgun/railtie.rb +3 -2
- data/mailgun.gemspec +15 -12
- data/spec/integration/bounces_spec.rb +3 -3
- data/spec/integration/campaign_spec.rb +0 -0
- data/spec/integration/complaints_spec.rb +0 -0
- data/spec/integration/domains_spec.rb +8 -0
- data/spec/integration/email_validation_spec.rb +10 -2
- data/spec/integration/events_spec.rb +1 -1
- data/spec/integration/list_members_spec.rb +0 -0
- data/spec/integration/list_spec.rb +0 -0
- data/spec/integration/mailer_spec.rb +67 -0
- data/spec/integration/mailgun_spec.rb +92 -1
- data/spec/integration/routes_spec.rb +0 -0
- data/spec/integration/stats_spec.rb +0 -0
- data/spec/integration/suppressions_spec.rb +18 -2
- data/spec/integration/templates_spec.rb +135 -0
- data/spec/integration/unsubscribes_spec.rb +0 -0
- data/spec/integration/webhook_spec.rb +0 -0
- data/spec/spec_helper.rb +3 -1
- data/spec/unit/connection/test_client.rb +18 -1
- data/spec/unit/events/events_spec.rb +19 -0
- data/spec/unit/mailgun_spec.rb +43 -2
- data/spec/unit/messages/batch_message_spec.rb +56 -40
- data/spec/unit/messages/message_builder_spec.rb +149 -16
- data/spec/unit/messages/sample_data/unknown.type +0 -0
- data/spec/unit/railgun/mailer_spec.rb +388 -0
- data/vcr_cassettes/bounces.yml +12 -12
- data/vcr_cassettes/complaints.yml +0 -0
- data/vcr_cassettes/domains.todo.yml +0 -0
- data/vcr_cassettes/domains.yml +51 -1
- data/vcr_cassettes/email_validation.yml +5 -5
- data/vcr_cassettes/events.yml +0 -0
- data/vcr_cassettes/exceptions-invalid-api-key.yml +52 -0
- data/vcr_cassettes/exceptions-invalid-data.yml +52 -0
- data/vcr_cassettes/exceptions-not-allowed.yml +54 -0
- data/vcr_cassettes/list_members.yml +0 -0
- data/vcr_cassettes/mailer_invalid_domain.yml +109 -0
- data/vcr_cassettes/mailing_list.todo.yml +0 -0
- data/vcr_cassettes/mailing_list.yml +0 -0
- data/vcr_cassettes/message_deliver.yml +149 -0
- data/vcr_cassettes/routes.yml +0 -0
- data/vcr_cassettes/send_message.yml +0 -0
- data/vcr_cassettes/stats.yml +0 -0
- data/vcr_cassettes/suppressions.yml +66 -15
- data/vcr_cassettes/templates.yml +1065 -0
- data/vcr_cassettes/unsubscribes.yml +0 -0
- data/vcr_cassettes/webhooks.yml +0 -0
- metadata +49 -29
- data/.ruby-version +0 -1
- /data/spec/unit/{railgun_spec.rb → railgun/content_type_spec.rb} +0 -0
@@ -49,7 +49,7 @@ http_interactions:
|
|
49
49
|
body:
|
50
50
|
encoding: UTF-8
|
51
51
|
string: '{"message":"4 addresses have been added to the bounces table"}'
|
52
|
-
http_version:
|
52
|
+
http_version:
|
53
53
|
recorded_at: Wed, 30 Nov 2016 20:53:49 GMT
|
54
54
|
- request:
|
55
55
|
method: delete
|
@@ -93,7 +93,7 @@ http_interactions:
|
|
93
93
|
encoding: UTF-8
|
94
94
|
string: '{"address":"test1@example.com","message":"Bounced address has been
|
95
95
|
removed"}'
|
96
|
-
http_version:
|
96
|
+
http_version:
|
97
97
|
recorded_at: Wed, 30 Nov 2016 20:53:49 GMT
|
98
98
|
- request:
|
99
99
|
method: delete
|
@@ -137,7 +137,7 @@ http_interactions:
|
|
137
137
|
encoding: UTF-8
|
138
138
|
string: '{"address":"test2@example.org","message":"Bounced address has been
|
139
139
|
removed"}'
|
140
|
-
http_version:
|
140
|
+
http_version:
|
141
141
|
recorded_at: Wed, 30 Nov 2016 20:53:50 GMT
|
142
142
|
- request:
|
143
143
|
method: delete
|
@@ -181,7 +181,7 @@ http_interactions:
|
|
181
181
|
encoding: UTF-8
|
182
182
|
string: '{"address":"test3@example.net","message":"Bounced address has been
|
183
183
|
removed"}'
|
184
|
-
http_version:
|
184
|
+
http_version:
|
185
185
|
recorded_at: Wed, 30 Nov 2016 20:53:50 GMT
|
186
186
|
- request:
|
187
187
|
method: delete
|
@@ -225,7 +225,7 @@ http_interactions:
|
|
225
225
|
encoding: UTF-8
|
226
226
|
string: '{"address":"test4@example.info","message":"Bounced address has been
|
227
227
|
removed"}'
|
228
|
-
http_version:
|
228
|
+
http_version:
|
229
229
|
recorded_at: Wed, 30 Nov 2016 20:53:50 GMT
|
230
230
|
- request:
|
231
231
|
method: post
|
@@ -274,7 +274,7 @@ http_interactions:
|
|
274
274
|
body:
|
275
275
|
encoding: UTF-8
|
276
276
|
string: '{"message":"4 addresses have been added to the unsubscribes table"}'
|
277
|
-
http_version:
|
277
|
+
http_version:
|
278
278
|
recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
|
279
279
|
- request:
|
280
280
|
method: delete
|
@@ -318,7 +318,7 @@ http_interactions:
|
|
318
318
|
encoding: UTF-8
|
319
319
|
string: '{"address":"test1@example.com","message":"Unsubscribe event has been
|
320
320
|
removed"}'
|
321
|
-
http_version:
|
321
|
+
http_version:
|
322
322
|
recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
|
323
323
|
- request:
|
324
324
|
method: delete
|
@@ -362,7 +362,7 @@ http_interactions:
|
|
362
362
|
encoding: UTF-8
|
363
363
|
string: '{"address":"test2@example.org","message":"Unsubscribe event has been
|
364
364
|
removed"}'
|
365
|
-
http_version:
|
365
|
+
http_version:
|
366
366
|
recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
|
367
367
|
- request:
|
368
368
|
method: delete
|
@@ -406,7 +406,7 @@ http_interactions:
|
|
406
406
|
encoding: UTF-8
|
407
407
|
string: '{"address":"test3@example.net","message":"Unsubscribe event has been
|
408
408
|
removed"}'
|
409
|
-
http_version:
|
409
|
+
http_version:
|
410
410
|
recorded_at: Wed, 30 Nov 2016 20:53:51 GMT
|
411
411
|
- request:
|
412
412
|
method: delete
|
@@ -450,7 +450,7 @@ http_interactions:
|
|
450
450
|
encoding: UTF-8
|
451
451
|
string: '{"address":"test4@example.info","message":"Unsubscribe event has been
|
452
452
|
removed"}'
|
453
|
-
http_version:
|
453
|
+
http_version:
|
454
454
|
recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
|
455
455
|
- request:
|
456
456
|
method: post
|
@@ -498,7 +498,7 @@ http_interactions:
|
|
498
498
|
encoding: UTF-8
|
499
499
|
string: '{"message":"4 complaint addresses have been added to the complaints
|
500
500
|
table"}'
|
501
|
-
http_version:
|
501
|
+
http_version:
|
502
502
|
recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
|
503
503
|
- request:
|
504
504
|
method: delete
|
@@ -541,7 +541,7 @@ http_interactions:
|
|
541
541
|
body:
|
542
542
|
encoding: UTF-8
|
543
543
|
string: '{"address":"test1@example.com","message":"Spam complaint has been removed"}'
|
544
|
-
http_version:
|
544
|
+
http_version:
|
545
545
|
recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
|
546
546
|
- request:
|
547
547
|
method: delete
|
@@ -584,7 +584,7 @@ http_interactions:
|
|
584
584
|
body:
|
585
585
|
encoding: UTF-8
|
586
586
|
string: '{"address":"test2@example.org","message":"Spam complaint has been removed"}'
|
587
|
-
http_version:
|
587
|
+
http_version:
|
588
588
|
recorded_at: Wed, 30 Nov 2016 20:53:52 GMT
|
589
589
|
- request:
|
590
590
|
method: delete
|
@@ -627,7 +627,7 @@ http_interactions:
|
|
627
627
|
body:
|
628
628
|
encoding: UTF-8
|
629
629
|
string: '{"address":"test3@example.net","message":"Spam complaint has been removed"}'
|
630
|
-
http_version:
|
630
|
+
http_version:
|
631
631
|
recorded_at: Wed, 30 Nov 2016 20:53:53 GMT
|
632
632
|
- request:
|
633
633
|
method: delete
|
@@ -671,6 +671,57 @@ http_interactions:
|
|
671
671
|
encoding: UTF-8
|
672
672
|
string: '{"address":"test4@example.info","message":"Spam complaint has been
|
673
673
|
removed"}'
|
674
|
-
http_version:
|
674
|
+
http_version:
|
675
675
|
recorded_at: Wed, 30 Nov 2016 20:53:53 GMT
|
676
|
+
- request:
|
677
|
+
method: post
|
678
|
+
uri: https://api:<APIKEY>@api.mailgun.net/v3/DOMAIN.TEST/unsubscribes
|
679
|
+
body:
|
680
|
+
encoding: UTF-8
|
681
|
+
string: '[{"address":"test4@example.info","tag":"integration"},{"address":"test3@example.net","tag":"integration"},{"address":"test2@example.org","tag":"integration"},{"address":"test1@example.com","tag":"integration"}]'
|
682
|
+
headers:
|
683
|
+
Accept:
|
684
|
+
- "*/*"
|
685
|
+
Accept-Encoding:
|
686
|
+
- gzip, deflate
|
687
|
+
User-Agent:
|
688
|
+
- rest-client/2.0.2 (darwin18.7.0 x86_64) ruby/2.5.7p206
|
689
|
+
Content-Type:
|
690
|
+
- application/json
|
691
|
+
Content-Length:
|
692
|
+
- '210'
|
693
|
+
Host:
|
694
|
+
- api.mailgun.net
|
695
|
+
response:
|
696
|
+
status:
|
697
|
+
code: 200
|
698
|
+
message: OK
|
699
|
+
headers:
|
700
|
+
Access-Control-Allow-Headers:
|
701
|
+
- Content-Type, x-requested-with
|
702
|
+
Access-Control-Allow-Methods:
|
703
|
+
- GET, POST, PUT, DELETE, OPTIONS
|
704
|
+
Access-Control-Allow-Origin:
|
705
|
+
- "*"
|
706
|
+
Access-Control-Max-Age:
|
707
|
+
- '600'
|
708
|
+
Content-Type:
|
709
|
+
- application/json; charset=utf-8
|
710
|
+
Date:
|
711
|
+
- Tue, 04 Feb 2020 15:16:07 GMT
|
712
|
+
Server:
|
713
|
+
- nginx
|
714
|
+
Strict-Transport-Security:
|
715
|
+
- max-age=63072000; includeSubDomains
|
716
|
+
Content-Length:
|
717
|
+
- '68'
|
718
|
+
Connection:
|
719
|
+
- keep-alive
|
720
|
+
body:
|
721
|
+
encoding: UTF-8
|
722
|
+
string: '{"message":"4 addresses have been added to the unsubscribes table"}
|
723
|
+
|
724
|
+
'
|
725
|
+
http_version:
|
726
|
+
recorded_at: Tue, 04 Feb 2020 15:16:07 GMT
|
676
727
|
recorded_with: VCR 3.0.3
|