mailgun 0.8 → 0.11
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/.gitignore +1 -0
- data/.travis.yml +13 -0
- data/CONTRIBUTORS.md +5 -1
- data/README.md +39 -2
- data/lib/mailgun.rb +6 -1
- data/lib/mailgun/address.rb +20 -0
- data/lib/mailgun/base.rb +45 -16
- data/lib/mailgun/client.rb +87 -0
- data/lib/mailgun/domain.rb +9 -4
- data/lib/mailgun/list/member.rb +9 -1
- data/lib/mailgun/mailgun_error.rb +54 -1
- data/lib/mailgun/route.rb +9 -4
- data/lib/mailgun/secure.rb +30 -0
- data/lib/mailgun/webhook.rb +55 -0
- data/lib/multimap/spec/enumerable_examples.rb +22 -22
- data/lib/multimap/spec/hash_examples.rb +88 -88
- data/lib/multimap/spec/multiset_spec.rb +62 -62
- data/lib/multimap/spec/nested_multimap_spec.rb +58 -58
- data/lib/multimap/spec/set_examples.rb +112 -112
- data/lib/multimap/spec/spec_helper.rb +2 -2
- data/mailgun.gemspec +3 -5
- data/spec/address_spec.rb +27 -0
- data/spec/base_spec.rb +31 -25
- data/spec/bounce_spec.rb +5 -5
- data/spec/client_spec.rb +118 -0
- data/spec/complaint_spec.rb +4 -4
- data/spec/domain_spec.rb +17 -5
- data/spec/helpers/mailgun_helper.rb +9 -0
- data/spec/list/member_spec.rb +7 -7
- data/spec/list/message_spec.rb +3 -3
- data/spec/list_spec.rb +6 -6
- data/spec/log_spec.rb +2 -2
- data/spec/mailbox_spec.rb +4 -4
- data/spec/route_spec.rb +10 -11
- data/spec/secure_spec.rb +55 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/unsubscribe_spec.rb +6 -6
- data/spec/webhook_spec.rb +115 -0
- metadata +22 -21
data/spec/list_spec.rb
CHANGED
@@ -16,9 +16,9 @@ describe Mailgun::MailingList do
|
|
16
16
|
describe "list mailing lists" do
|
17
17
|
it "should make a GET request with the right params" do
|
18
18
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
19
|
-
Mailgun.
|
19
|
+
expect(Mailgun).to receive(:submit)
|
20
20
|
.with(:get, "#{@mailgun.lists.send(:list_url)}", {}).and_return(sample_response)
|
21
|
-
|
21
|
+
|
22
22
|
@mailgun.lists.list
|
23
23
|
end
|
24
24
|
end
|
@@ -26,7 +26,7 @@ describe Mailgun::MailingList do
|
|
26
26
|
describe "find list adress" do
|
27
27
|
it "should make a GET request with correct params to find given email address" do
|
28
28
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
29
|
-
Mailgun.
|
29
|
+
expect(Mailgun).to receive(:submit)
|
30
30
|
.with(:get, "#{@mailgun.lists.send(:list_url, @sample[:list_email])}")
|
31
31
|
.and_return(sample_response)
|
32
32
|
|
@@ -37,7 +37,7 @@ describe Mailgun::MailingList do
|
|
37
37
|
describe "create list" do
|
38
38
|
it "should make a POST request with correct params to add a given email address" do
|
39
39
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
40
|
-
Mailgun.
|
40
|
+
expect(Mailgun).to receive(:submit)
|
41
41
|
.with(:post, "#{@mailgun.lists.send(:list_url)}", {:address => @sample[:list_email]})
|
42
42
|
.and_return(sample_response)
|
43
43
|
|
@@ -48,7 +48,7 @@ describe Mailgun::MailingList do
|
|
48
48
|
describe "update list" do
|
49
49
|
it "should make a PUT request with correct params" do
|
50
50
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
51
|
-
Mailgun.
|
51
|
+
expect(Mailgun).to receive(:submit)
|
52
52
|
.with(:put, "#{@mailgun.lists.send(:list_url, @sample[:list_email])}", {:address => @sample[:email]})
|
53
53
|
.and_return(sample_response)
|
54
54
|
|
@@ -59,7 +59,7 @@ describe Mailgun::MailingList do
|
|
59
59
|
describe "delete list" do
|
60
60
|
it "should make a DELETE request with correct params" do
|
61
61
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
62
|
-
Mailgun.
|
62
|
+
expect(Mailgun).to receive(:submit)
|
63
63
|
.with(:delete, "#{@mailgun.lists.send(:list_url, @sample[:list_email])}")
|
64
64
|
.and_return(sample_response)
|
65
65
|
|
data/spec/log_spec.rb
CHANGED
@@ -16,7 +16,7 @@ describe Mailgun::Log do
|
|
16
16
|
it "should make a GET request with the right params" do
|
17
17
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
18
18
|
log_url = @mailgun.log(@sample[:domain]).send(:log_url)
|
19
|
-
Mailgun.
|
19
|
+
expect(Mailgun).to receive(:submit).
|
20
20
|
with(:get, log_url, {}).
|
21
21
|
and_return(sample_response)
|
22
22
|
|
@@ -24,4 +24,4 @@ describe Mailgun::Log do
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
end
|
27
|
+
end
|
data/spec/mailbox_spec.rb
CHANGED
@@ -17,7 +17,7 @@ describe Mailgun::Mailbox do
|
|
17
17
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
18
18
|
mailboxes_url = @mailgun.mailboxes(@sample[:domain]).send(:mailbox_url)
|
19
19
|
|
20
|
-
Mailgun.
|
20
|
+
expect(Mailgun).to receive(:submit).
|
21
21
|
with(:get,mailboxes_url, {}).
|
22
22
|
and_return(sample_response)
|
23
23
|
|
@@ -28,7 +28,7 @@ describe Mailgun::Mailbox do
|
|
28
28
|
describe "create mailbox" do
|
29
29
|
it "should make a POST request with the right params" do
|
30
30
|
mailboxes_url = @mailgun.mailboxes(@sample[:domain]).send(:mailbox_url)
|
31
|
-
Mailgun.
|
31
|
+
expect(Mailgun).to receive(:submit)
|
32
32
|
.with(:post, mailboxes_url,
|
33
33
|
:mailbox => @sample[:email],
|
34
34
|
:password => @sample[:password])
|
@@ -41,7 +41,7 @@ describe Mailgun::Mailbox do
|
|
41
41
|
describe "update mailbox" do
|
42
42
|
it "should make a PUT request with the right params" do
|
43
43
|
mailboxes_url = @mailgun.mailboxes(@sample[:domain]).send(:mailbox_url, @sample[:mailbox_name])
|
44
|
-
Mailgun.
|
44
|
+
expect(Mailgun).to receive(:submit)
|
45
45
|
.with(:put, mailboxes_url, :password => @sample[:password])
|
46
46
|
.and_return({})
|
47
47
|
|
@@ -53,7 +53,7 @@ describe Mailgun::Mailbox do
|
|
53
53
|
describe "destroy mailbox" do
|
54
54
|
it "should make a DELETE request with the right params" do
|
55
55
|
mailboxes_url = @mailgun.mailboxes(@sample[:domain]).send(:mailbox_url, @sample[:name])
|
56
|
-
Mailgun.
|
56
|
+
expect(Mailgun).to receive(:submit)
|
57
57
|
.with(:delete, mailboxes_url)
|
58
58
|
.and_return({})
|
59
59
|
|
data/spec/route_spec.rb
CHANGED
@@ -16,7 +16,7 @@ describe Mailgun::Route do
|
|
16
16
|
}
|
17
17
|
EOF.to_json
|
18
18
|
|
19
|
-
Mailgun.
|
19
|
+
expect(Mailgun).to receive(:submit).
|
20
20
|
with(:get, "#{@mailgun.routes.send(:route_url)}", {}).
|
21
21
|
and_return(sample_response)
|
22
22
|
end
|
@@ -26,7 +26,7 @@ EOF.to_json
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should respond with an Array" do
|
29
|
-
@mailgun.routes.list.
|
29
|
+
expect(@mailgun.routes.list).to be_kind_of(Array)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -48,7 +48,7 @@ EOF.to_json
|
|
48
48
|
}
|
49
49
|
EOF
|
50
50
|
|
51
|
-
Mailgun.
|
51
|
+
expect(Mailgun).to receive(:submit).
|
52
52
|
with(:get, "#{@mailgun.routes.send(:route_url, @sample_route_id)}").
|
53
53
|
and_return(sample_response)
|
54
54
|
|
@@ -65,10 +65,10 @@ EOF
|
|
65
65
|
options[:expression] = [:match_recipient, "sample.mailgun.org"]
|
66
66
|
options[:action] = [[:forward, "http://test-site.com"], [:stop]]
|
67
67
|
|
68
|
-
Mailgun.
|
69
|
-
.with(:post, @mailgun.routes.send(:route_url), instance_of(
|
68
|
+
expect(Mailgun).to receive(:submit)
|
69
|
+
.with(:post, @mailgun.routes.send(:route_url), instance_of(Hash))
|
70
70
|
.and_return("{\"route\": {\"id\": \"@sample_route_id\"}}")
|
71
|
-
|
71
|
+
|
72
72
|
@mailgun.routes.create(
|
73
73
|
options[:description],
|
74
74
|
options[:priority],
|
@@ -80,11 +80,10 @@ EOF
|
|
80
80
|
|
81
81
|
describe "update route" do
|
82
82
|
it "should make a PUT request with the right params" do
|
83
|
-
options = {}
|
84
|
-
options[:description] = "test_route"
|
83
|
+
options = { description: "test_route" }
|
85
84
|
|
86
|
-
Mailgun.
|
87
|
-
.with(:put, "#{@mailgun.routes.send(:route_url, @sample_route_id)}",
|
85
|
+
expect(Mailgun).to receive(:submit)
|
86
|
+
.with(:put, "#{@mailgun.routes.send(:route_url, @sample_route_id)}", { 'description' => ["test_route"] })
|
88
87
|
.and_return("{\"id\": \"#{@sample_route_id}\"}")
|
89
88
|
@mailgun.routes.update @sample_route_id, options
|
90
89
|
end
|
@@ -92,7 +91,7 @@ EOF
|
|
92
91
|
|
93
92
|
describe "delete route" do
|
94
93
|
it "should make a DELETE request with the right params" do
|
95
|
-
Mailgun.
|
94
|
+
expect(Mailgun).to receive(:submit).
|
96
95
|
with(:delete, "#{@mailgun.routes.send(:route_url, @sample_route_id)}").
|
97
96
|
and_return("{\"id\": \"#{@sample_route_id}\"}")
|
98
97
|
@mailgun.routes.destroy @sample_route_id
|
data/spec/secure_spec.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require './spec/helpers/mailgun_helper.rb'
|
4
|
+
|
5
|
+
RSpec.configure do |c|
|
6
|
+
c.include MailgunHelper
|
7
|
+
end
|
8
|
+
|
9
|
+
describe Mailgun::Secure do
|
10
|
+
|
11
|
+
before :each do
|
12
|
+
@mailgun = Mailgun({:api_key => "some-api-key"}) # used to get the default values
|
13
|
+
end
|
14
|
+
|
15
|
+
it "generate_request_auth helper should generate a timestamp, a token and a signature" do
|
16
|
+
timestamp, token, signature = generate_request_auth("some-api-key")
|
17
|
+
|
18
|
+
expect(timestamp).to_not be_nil
|
19
|
+
expect(token.length).to eq 50
|
20
|
+
expect(signature.length).to eq 64
|
21
|
+
end
|
22
|
+
|
23
|
+
it "check_request_auth should return true for a recently generated authentication" do
|
24
|
+
timestamp, token, signature = generate_request_auth("some-api-key")
|
25
|
+
|
26
|
+
result = @mailgun.secure.check_request_auth(timestamp, token, signature)
|
27
|
+
|
28
|
+
expect(result).to be true
|
29
|
+
end
|
30
|
+
|
31
|
+
it "check_request_auth should return false for an authentication generated more than 5 minutes ago" do
|
32
|
+
timestamp, token, signature = generate_request_auth("some-api-key", -6)
|
33
|
+
|
34
|
+
result = @mailgun.secure.check_request_auth(timestamp, token, signature)
|
35
|
+
|
36
|
+
expect(result).to be false
|
37
|
+
end
|
38
|
+
|
39
|
+
it "check_request_auth should return true for an authentication generated any time when the check offset is 0" do
|
40
|
+
timestamp, token, signature = generate_request_auth("some-api-key", -6)
|
41
|
+
|
42
|
+
result = @mailgun.secure.check_request_auth(timestamp, token, signature, 0)
|
43
|
+
|
44
|
+
expect(result).to be true
|
45
|
+
end
|
46
|
+
|
47
|
+
it "check_request_auth should return false for a different api key, token or signature" do
|
48
|
+
timestamp, token, signature = generate_request_auth("some-different-api-key")
|
49
|
+
|
50
|
+
result = @mailgun.secure.check_request_auth(timestamp, token, signature)
|
51
|
+
|
52
|
+
expect(result).to be false
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/unsubscribe_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe Mailgun::Unsubscribe do
|
|
9
9
|
:email => "test@sample.mailgun.org",
|
10
10
|
:name => "test",
|
11
11
|
:domain => "sample.mailgun.org",
|
12
|
-
:tag => 'tag1'
|
12
|
+
:tag => 'tag1'
|
13
13
|
}
|
14
14
|
end
|
15
15
|
|
@@ -17,7 +17,7 @@ describe Mailgun::Unsubscribe do
|
|
17
17
|
it "should make a GET request with the right params" do
|
18
18
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
19
19
|
unsubscribes_url = @mailgun.unsubscribes(@sample[:domain]).send(:unsubscribe_url)
|
20
|
-
Mailgun.
|
20
|
+
expect(Mailgun).to receive(:submit).
|
21
21
|
with(:get, unsubscribes_url, {}).
|
22
22
|
and_return(sample_response)
|
23
23
|
|
@@ -30,7 +30,7 @@ describe Mailgun::Unsubscribe do
|
|
30
30
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
31
31
|
unsubscribes_url = @mailgun.unsubscribes(@sample[:domain]).send(:unsubscribe_url, @sample[:email])
|
32
32
|
|
33
|
-
Mailgun.
|
33
|
+
expect(Mailgun).to receive(:submit)
|
34
34
|
.with(:get, unsubscribes_url)
|
35
35
|
.and_return(sample_response)
|
36
36
|
|
@@ -43,7 +43,7 @@ describe Mailgun::Unsubscribe do
|
|
43
43
|
response_message = "{\"message\"=>\"Unsubscribe event has been removed\", \"address\"=>\"#{@sample[:email]}\"}"
|
44
44
|
unsubscribes_url = @mailgun.unsubscribes(@sample[:domain]).send(:unsubscribe_url, @sample[:email])
|
45
45
|
|
46
|
-
Mailgun.
|
46
|
+
expect(Mailgun).to receive(:submit)
|
47
47
|
.with(:delete, unsubscribes_url)
|
48
48
|
.and_return(response_message)
|
49
49
|
|
@@ -55,7 +55,7 @@ describe Mailgun::Unsubscribe do
|
|
55
55
|
context "to tag" do
|
56
56
|
it "should make a POST request with correct params to add a given email address to unsubscribe from a tag" do
|
57
57
|
response_message = "{\"message\"=>\"Address has been added to the unsubscribes table\", \"address\"=>\"#{@sample[:email]}\"}"
|
58
|
-
Mailgun.
|
58
|
+
expect(Mailgun).to receive(:submit)
|
59
59
|
.with(:post, "#{@mailgun.unsubscribes(@sample[:domain]).send(:unsubscribe_url)}",{:address=>@sample[:email], :tag=>@sample[:tag]})
|
60
60
|
.and_return(response_message)
|
61
61
|
|
@@ -68,7 +68,7 @@ describe Mailgun::Unsubscribe do
|
|
68
68
|
sample_response = "{\"items\": [{\"size_bytes\": 0, \"mailbox\": \"postmaster@bsample.mailgun.org\" } ]}"
|
69
69
|
unsubscribes_url = @mailgun.unsubscribes(@sample[:domain]).send(:unsubscribe_url)
|
70
70
|
|
71
|
-
Mailgun.
|
71
|
+
expect(Mailgun).to receive(:submit)
|
72
72
|
.with(:post, unsubscribes_url, {
|
73
73
|
:address => @sample[:email], :tag => '*'
|
74
74
|
})
|
@@ -0,0 +1,115 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Mailgun::Webhook do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
@mailgun = Mailgun({:api_key => "api-key", :webhook_url => "http://postbin.heroku.com/860bcd65"})
|
7
|
+
|
8
|
+
@sample = {
|
9
|
+
:id => "click",
|
10
|
+
:url => "http://postbin.heroku.com/860bcd65"
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "list avabilable webhook ids" do
|
15
|
+
it "should return the correct ids" do
|
16
|
+
expect(@mailgun.webhooks.available_ids).to match_array %i(bounce deliver drop spam unsubscribe click open)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe "list webhooks" do
|
21
|
+
it "should make a GET request with the correct params" do
|
22
|
+
|
23
|
+
sample_response = "{\"total_count\": 1, \"items\": [{\"webhooks\":{\"open\":{\"url\":\"http://postbin.heroku.com/860bcd65\"},\"click\":{\"url\":\"http://postbin.heroku.com/860bcd65\"}}}]}"
|
24
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url)
|
25
|
+
|
26
|
+
expect(Mailgun).to receive(:submit).
|
27
|
+
with(:get, webhooks_url).
|
28
|
+
and_return(sample_response)
|
29
|
+
|
30
|
+
@mailgun.webhooks.list
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "find a webhook" do
|
35
|
+
it "should make a GET request with correct params to find a given webhook" do
|
36
|
+
sample_response = "{\"webhook\": {\"url\":\"http://postbin.heroku.com/860bcd65\"}"
|
37
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url, @sample[:id])
|
38
|
+
|
39
|
+
expect(Mailgun).to receive(:submit).
|
40
|
+
with(:get, webhooks_url).
|
41
|
+
and_return(sample_response)
|
42
|
+
|
43
|
+
@mailgun.webhooks.find(@sample[:id])
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "add a webhook" do
|
48
|
+
context "using the default webhook url" do
|
49
|
+
it "should make a POST request with correct params to add a webhook" do
|
50
|
+
sample_response = "{\"message\":\"Webhook has been created\",\"webhook\":{\"url\":\"http://postbin.heroku.com/860bcd65\"}}"
|
51
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url)
|
52
|
+
|
53
|
+
expect(Mailgun).to receive(:submit).
|
54
|
+
with(:post, webhooks_url, {:id => @sample[:id], :url => @sample[:url]}).
|
55
|
+
and_return(sample_response)
|
56
|
+
|
57
|
+
@mailgun.webhooks.create(@sample[:id])
|
58
|
+
end
|
59
|
+
end
|
60
|
+
context "overwriting the default webhook url" do
|
61
|
+
it "should make a POST request with correct params to add a webhook" do
|
62
|
+
sample_response = "{\"message\":\"Webhook has been created\",\"webhook\":{\"url\":\"http://postbin.heroku.com/860bcd65\"}}"
|
63
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url)
|
64
|
+
overwritten_url = 'http://mailgun.net/webhook'
|
65
|
+
|
66
|
+
expect(Mailgun).to receive(:submit).
|
67
|
+
with(:post, webhooks_url, {:id => @sample[:id], :url => overwritten_url}).
|
68
|
+
and_return(sample_response)
|
69
|
+
|
70
|
+
@mailgun.webhooks.create(@sample[:id], overwritten_url)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe "update a webhook" do
|
76
|
+
context "using the default webhook url" do
|
77
|
+
it "should make a POST request with correct params to add a webhook" do
|
78
|
+
sample_response = "{\"message\":\"Webhook has been updated\",\"webhook\":{\"url\":\"http://postbin.heroku.com/860bcd65\"}}"
|
79
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url, @sample[:id])
|
80
|
+
|
81
|
+
expect(Mailgun).to receive(:submit).
|
82
|
+
with(:put, webhooks_url, {:url => @sample[:url]}).
|
83
|
+
and_return(sample_response)
|
84
|
+
|
85
|
+
@mailgun.webhooks.update(@sample[:id])
|
86
|
+
end
|
87
|
+
end
|
88
|
+
context "overwriting the default webhook url" do
|
89
|
+
it "should make a POST request with correct params to add a webhook" do
|
90
|
+
sample_response = "{\"message\":\"Webhook has been updated\",\"webhook\":{\"url\":\"http://postbin.heroku.com/860bcd65\"}}"
|
91
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url, @sample[:id])
|
92
|
+
overwritten_url = 'http://mailgun.net/webhook'
|
93
|
+
|
94
|
+
expect(Mailgun).to receive(:submit).
|
95
|
+
with(:put, webhooks_url, {:url => overwritten_url}).
|
96
|
+
and_return(sample_response)
|
97
|
+
|
98
|
+
@mailgun.webhooks.update(@sample[:id], overwritten_url)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "delete a webhook" do
|
104
|
+
it "should make a DELETE request with correct params" do
|
105
|
+
sample_response = "{\"message\":\"Webhook has been deleted\",\"webhook\":{\"url\":\"http://postbin.heroku.com/860bcd65\"}}"
|
106
|
+
webhooks_url = @mailgun.webhooks.send(:webhook_url, @sample[:id])
|
107
|
+
|
108
|
+
expect(Mailgun).to receive(:submit).
|
109
|
+
with(:delete, webhooks_url).
|
110
|
+
and_return(sample_response)
|
111
|
+
|
112
|
+
@mailgun.webhooks.delete(@sample[:id])
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailgun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.11'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akash Manohar J
|
@@ -9,22 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-10-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: rest-client
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - ">="
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '0'
|
21
|
-
type: :runtime
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: '0'
|
28
14
|
- !ruby/object:Gem::Dependency
|
29
15
|
name: rspec
|
30
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,7 +26,7 @@ dependencies:
|
|
40
26
|
- !ruby/object:Gem::Version
|
41
27
|
version: '2'
|
42
28
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
29
|
+
name: pry
|
44
30
|
requirement: !ruby/object:Gem::Requirement
|
45
31
|
requirements:
|
46
32
|
- - ">="
|
@@ -54,19 +40,19 @@ dependencies:
|
|
54
40
|
- !ruby/object:Gem::Version
|
55
41
|
version: '0'
|
56
42
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
43
|
+
name: webmock
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
59
45
|
requirements:
|
60
46
|
- - ">="
|
61
47
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
48
|
+
version: '2'
|
63
49
|
type: :development
|
64
50
|
prerelease: false
|
65
51
|
version_requirements: !ruby/object:Gem::Requirement
|
66
52
|
requirements:
|
67
53
|
- - ">="
|
68
54
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
55
|
+
version: '2'
|
70
56
|
description: Mailgun library for Ruby
|
71
57
|
email:
|
72
58
|
- akash@akash.im
|
@@ -75,14 +61,17 @@ extensions: []
|
|
75
61
|
extra_rdoc_files: []
|
76
62
|
files:
|
77
63
|
- ".gitignore"
|
64
|
+
- ".travis.yml"
|
78
65
|
- CONTRIBUTORS.md
|
79
66
|
- Gemfile
|
80
67
|
- LICENSE
|
81
68
|
- README.md
|
82
69
|
- Rakefile
|
83
70
|
- lib/mailgun.rb
|
71
|
+
- lib/mailgun/address.rb
|
84
72
|
- lib/mailgun/base.rb
|
85
73
|
- lib/mailgun/bounce.rb
|
74
|
+
- lib/mailgun/client.rb
|
86
75
|
- lib/mailgun/complaint.rb
|
87
76
|
- lib/mailgun/domain.rb
|
88
77
|
- lib/mailgun/list.rb
|
@@ -92,7 +81,9 @@ files:
|
|
92
81
|
- lib/mailgun/mailgun_error.rb
|
93
82
|
- lib/mailgun/message.rb
|
94
83
|
- lib/mailgun/route.rb
|
84
|
+
- lib/mailgun/secure.rb
|
95
85
|
- lib/mailgun/unsubscribe.rb
|
86
|
+
- lib/mailgun/webhook.rb
|
96
87
|
- lib/multimap/.gitignore
|
97
88
|
- lib/multimap/LICENSE
|
98
89
|
- lib/multimap/README.rdoc
|
@@ -113,18 +104,23 @@ files:
|
|
113
104
|
- lib/multimap/spec/set_examples.rb
|
114
105
|
- lib/multimap/spec/spec_helper.rb
|
115
106
|
- mailgun.gemspec
|
107
|
+
- spec/address_spec.rb
|
116
108
|
- spec/base_spec.rb
|
117
109
|
- spec/bounce_spec.rb
|
110
|
+
- spec/client_spec.rb
|
118
111
|
- spec/complaint_spec.rb
|
119
112
|
- spec/domain_spec.rb
|
113
|
+
- spec/helpers/mailgun_helper.rb
|
120
114
|
- spec/list/member_spec.rb
|
121
115
|
- spec/list/message_spec.rb
|
122
116
|
- spec/list_spec.rb
|
123
117
|
- spec/log_spec.rb
|
124
118
|
- spec/mailbox_spec.rb
|
125
119
|
- spec/route_spec.rb
|
120
|
+
- spec/secure_spec.rb
|
126
121
|
- spec/spec_helper.rb
|
127
122
|
- spec/unsubscribe_spec.rb
|
123
|
+
- spec/webhook_spec.rb
|
128
124
|
homepage: http://github.com/HashNuke/mailgun
|
129
125
|
licenses: []
|
130
126
|
metadata: {}
|
@@ -144,20 +140,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
140
|
version: '0'
|
145
141
|
requirements: []
|
146
142
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
143
|
+
rubygems_version: 2.5.1
|
148
144
|
signing_key:
|
149
145
|
specification_version: 4
|
150
146
|
summary: Idiomatic library for using the mailgun API from within ruby
|
151
147
|
test_files:
|
148
|
+
- spec/address_spec.rb
|
152
149
|
- spec/base_spec.rb
|
153
150
|
- spec/bounce_spec.rb
|
151
|
+
- spec/client_spec.rb
|
154
152
|
- spec/complaint_spec.rb
|
155
153
|
- spec/domain_spec.rb
|
154
|
+
- spec/helpers/mailgun_helper.rb
|
156
155
|
- spec/list/member_spec.rb
|
157
156
|
- spec/list/message_spec.rb
|
158
157
|
- spec/list_spec.rb
|
159
158
|
- spec/log_spec.rb
|
160
159
|
- spec/mailbox_spec.rb
|
161
160
|
- spec/route_spec.rb
|
161
|
+
- spec/secure_spec.rb
|
162
162
|
- spec/spec_helper.rb
|
163
163
|
- spec/unsubscribe_spec.rb
|
164
|
+
- spec/webhook_spec.rb
|