sendgrid-web 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sendgrid/web/parse_webhook_settings.rb +77 -0
- data/lib/sendgrid/web/profile.rb +110 -0
- data/lib/sendgrid/web/spam_reports.rb +49 -0
- data/lib/sendgrid/web/unsubscribes.rb +70 -0
- data/lib/sendgrid/web/version.rb +1 -1
- data/lib/sendgrid/web.rb +4 -0
- data/spec/sendgrid/web/parse_webhook_settings_spec.rb +64 -0
- data/spec/sendgrid/web/profile_spec.rb +79 -0
- data/spec/sendgrid/web/spam_reports_spec.rb +36 -0
- data/spec/sendgrid/web/unsubscribes_spec.rb +46 -0
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d55cccb3825dcfc129f5c068cd56dc1c4680c2eb
|
4
|
+
data.tar.gz: c18852eb71401b67a4c060de1af8ffe7826fc3f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90fcb041fd4973bcd1033a6875ef900bd77950b47e6d059bda9be7db6addd0093a10ae6a10778fae631ecac998acd214f3983236939f44e15534c54fb8d00ae6
|
7
|
+
data.tar.gz: 647714ff3f4a66743eea7550a4d4e19794479e5d0e390f22302e09e234eab4150591500aeffed9e1ba27ccef5bc61cf470685be390d68a437b27befae2353b08
|
@@ -0,0 +1,77 @@
|
|
1
|
+
class Sendgrid::Web::ParseWebhookSettings < Sendgrid::Web::Client
|
2
|
+
|
3
|
+
# Retrieve settings already configured for parsing incoming email.
|
4
|
+
#
|
5
|
+
# @return [Sendgrid::Web::Response] The sendgrid response
|
6
|
+
def get
|
7
|
+
res = connection.post('/api/parse.get.json', default_params)
|
8
|
+
craft_response(res)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Specify the hostname and url for parsing incoming emails.
|
12
|
+
#
|
13
|
+
# @param hostname [String] The hostname (domain or subdomain) for
|
14
|
+
# which you would like to configure a Parse Webhook callback URL.
|
15
|
+
# @param url [String] The callback URL to which Parse Webhook
|
16
|
+
# payloads will be POSTed.
|
17
|
+
# @param spam_check [Integer] If spam check is enabled, messages
|
18
|
+
# that look like spam will not be POSTed.
|
19
|
+
# @return [Sendgrid::Web::Response] The sendgrid response
|
20
|
+
# @note +hostname+ and +url+ are required parameters.
|
21
|
+
def set(hostname: nil, url: nil, spam_check: nil)
|
22
|
+
if hostname.nil?
|
23
|
+
raise ArgumentError.new('Missing required `hostname` option')
|
24
|
+
elsif url.nil?
|
25
|
+
raise ArgumentError.new('Missing required `url` option')
|
26
|
+
end
|
27
|
+
res = connection.post(
|
28
|
+
'/api/parse.set.json',
|
29
|
+
default_params(
|
30
|
+
hostname: hostname,
|
31
|
+
url: url,
|
32
|
+
spam_check: spam_check))
|
33
|
+
craft_response(res)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Edit your existing settings for parsing incoming emails.
|
37
|
+
#
|
38
|
+
# @param hostname [String] The hostname (domain or subdomain) for
|
39
|
+
# which you would like to configure a Parse Webhook callback URL.
|
40
|
+
# @param url [String] The callback URL to which Parse Webhook
|
41
|
+
# payloads will be POSTed.
|
42
|
+
# @param spam_check [Integer] If spam check is enabled, messages
|
43
|
+
# that look like spam will not be POSTed.
|
44
|
+
# @return [Sendgrid::Web::Response] The sendgrid response
|
45
|
+
# @note +hostname+ and +url+ are required parameters.
|
46
|
+
def edit(hostname: nil, url: nil, spam_check: nil)
|
47
|
+
if hostname.nil?
|
48
|
+
raise ArgumentError.new('Missing required `hostname` option')
|
49
|
+
elsif url.nil?
|
50
|
+
raise ArgumentError.new('Missing required `url` option')
|
51
|
+
end
|
52
|
+
res = connection.post(
|
53
|
+
'/api/parse.edit.json',
|
54
|
+
default_params(
|
55
|
+
hostname: hostname,
|
56
|
+
url: url,
|
57
|
+
spam_check: spam_check))
|
58
|
+
craft_response(res)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Delete the existing settings for parsing incoming emails.
|
62
|
+
#
|
63
|
+
# @param hostname [String] The hostname (domain or subdomain) for
|
64
|
+
# which you would like to configure a Parse Webhook callback URL.
|
65
|
+
# @return [Sendgrid::Web::Response] The sendgrid response
|
66
|
+
# @note +hostname+ is a required parameter.
|
67
|
+
def delete(hostname: nil)
|
68
|
+
if hostname.nil?
|
69
|
+
raise ArgumentError.new('Missing required `hostname` option')
|
70
|
+
end
|
71
|
+
res = connection.post(
|
72
|
+
'/api/parse.delete.json',
|
73
|
+
default_params(hostname: hostname))
|
74
|
+
craft_response(res)
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,110 @@
|
|
1
|
+
class Sendgrid::Web::Profile < Sendgrid::Web::Client
|
2
|
+
|
3
|
+
# View your SendGrid profile.
|
4
|
+
#
|
5
|
+
# @return [Sendgrid::Web::Response] the Sendgrid response.
|
6
|
+
# @note All parameters are optional
|
7
|
+
def get
|
8
|
+
res = connection.post('/api/profile.get.json', default_params)
|
9
|
+
craft_response(res)
|
10
|
+
end
|
11
|
+
|
12
|
+
# Update your SendGrid profile.
|
13
|
+
#
|
14
|
+
# @param first_name [String] Your first name.
|
15
|
+
# @param last_name [String] Your last name.
|
16
|
+
# @param address [String] Your company address.
|
17
|
+
# @param city [String] City where your company is located.
|
18
|
+
# @param state [String] State where your company is located.
|
19
|
+
# @param country [String] Country where your company is located.
|
20
|
+
# @param zip [String] Zipcode/Postcode where your company is
|
21
|
+
# located.
|
22
|
+
# @param phone [String] Valid phone number.
|
23
|
+
# @param website [String] Your companies website.
|
24
|
+
# @return [Sendgrid::Web::Response] the Sendgrid response.
|
25
|
+
# @note All parameters are optional
|
26
|
+
def set(
|
27
|
+
first_name: nil, last_name: nil, address: nil,
|
28
|
+
city: nil, state: nil, country: nil,
|
29
|
+
zip: nil, phone: nil, website: nil)
|
30
|
+
res = connection.post(
|
31
|
+
'/api/profile.set.json',
|
32
|
+
default_params(
|
33
|
+
first_name: first_name,
|
34
|
+
last_name: last_name,
|
35
|
+
address: address,
|
36
|
+
city: city,
|
37
|
+
state: state,
|
38
|
+
country: country,
|
39
|
+
zip: zip,
|
40
|
+
phone: phone,
|
41
|
+
website: website))
|
42
|
+
craft_response(res)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Update your password.
|
46
|
+
#
|
47
|
+
# @param password [String] Your new password.
|
48
|
+
# @param confirm_password [String] Confirm your new password.
|
49
|
+
# @return [Sendgrid::Web::Response] the Sendgrid response.
|
50
|
+
# @note +password+ and +confirm_password+ are required.
|
51
|
+
# @see #set_username
|
52
|
+
# @see #set_email
|
53
|
+
def set_password(password: nil, confirm_password: nil)
|
54
|
+
if password.nil?
|
55
|
+
raise ArgumentError.new('Missing required `password` option')
|
56
|
+
elsif confirm_password.nil?
|
57
|
+
raise ArgumentError.new(
|
58
|
+
'Missing required `confirm_password` option')
|
59
|
+
end
|
60
|
+
res = connection.post(
|
61
|
+
'/api/password.set.json',
|
62
|
+
default_params(
|
63
|
+
password: password,
|
64
|
+
confirm_password: confirm_password))
|
65
|
+
craft_response(res)
|
66
|
+
end
|
67
|
+
|
68
|
+
# Update your username.
|
69
|
+
#
|
70
|
+
# @param username [String] This is the new username we will be
|
71
|
+
# authenticating with our SMTP servers and our website. Changes
|
72
|
+
# take effect immediately.
|
73
|
+
# @return [Sendgrid::Web::Response] the Sendgrid response.
|
74
|
+
# @note Only +username+ is required.
|
75
|
+
# @note Your account username is used to login to the SMTP server
|
76
|
+
# and the website. Changes will take effect immediately.
|
77
|
+
# @see #set_password
|
78
|
+
# @see #set_email
|
79
|
+
def set_username(username: nil)
|
80
|
+
if username.nil?
|
81
|
+
raise ArgumentError.new('Missing required `username` option')
|
82
|
+
end
|
83
|
+
res = connection.post(
|
84
|
+
'/api/profile.setUsername.json',
|
85
|
+
default_params(username: username))
|
86
|
+
craft_response(res)
|
87
|
+
end
|
88
|
+
|
89
|
+
# Update your email address.
|
90
|
+
#
|
91
|
+
# @param email [String] This is the new email address SendGrid will
|
92
|
+
# be contacting you with. Changes take effect immediately.
|
93
|
+
# @return [Sendgrid::Web::Response] the Sendgrid response.
|
94
|
+
# @note Only +email+ is required.
|
95
|
+
# @note SendGrid send out a confirmation email to the new email
|
96
|
+
# account in order to be validated. Your email address changes
|
97
|
+
# when you click on the confirmation link.
|
98
|
+
# @see #set_password
|
99
|
+
# @see #set_username
|
100
|
+
def set_email(email: nil)
|
101
|
+
if email.nil?
|
102
|
+
raise ArgumentError.new('Missing required `email` option')
|
103
|
+
end
|
104
|
+
res = connection.post(
|
105
|
+
'/api/profile.setEmail.json',
|
106
|
+
default_params(email: email))
|
107
|
+
craft_response(res)
|
108
|
+
end
|
109
|
+
|
110
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
class Sendgrid::Web::SpamReports < Sendgrid::Web::Client
|
2
|
+
|
3
|
+
# Retrieve entries in the Spam Reports list.
|
4
|
+
#
|
5
|
+
# @param date [Integer] Retrieve the timestamp of the spam reports
|
6
|
+
# records.
|
7
|
+
# @param days [Integer] Number of days in the past for which to
|
8
|
+
# retrieve spam reports (includes today).
|
9
|
+
# @param start_date [DateTime] The start of the date range for which
|
10
|
+
# to retrieve spam reports.
|
11
|
+
# @param end_date [DateTime] The end of the date range for which to
|
12
|
+
# retrieve spam reports.
|
13
|
+
# @param limit [Integer] Optional field to limit the number of
|
14
|
+
# results returned.
|
15
|
+
# @param offset [Integer] Optional beginning point in the list to
|
16
|
+
# retrieve from.
|
17
|
+
# @return [Sendgrid::Web::Response] The SendGrid response.
|
18
|
+
# @note All parameters are optional.
|
19
|
+
def get(
|
20
|
+
date: nil, days: nil, start_date: nil,
|
21
|
+
end_date: nil, limit: nil, offset: nil)
|
22
|
+
res = connection.post(
|
23
|
+
'/api/spamreports.get.json',
|
24
|
+
default_params(
|
25
|
+
date: date,
|
26
|
+
days: days,
|
27
|
+
start_date: start_date,
|
28
|
+
end_date: end_date,
|
29
|
+
limit: limit,
|
30
|
+
offset: offset))
|
31
|
+
craft_response(res)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Deletes all spam reports associated with the provided email.
|
35
|
+
#
|
36
|
+
# @param email [String] Email spam reports address to remove.
|
37
|
+
# @return [Sendgrid::Web::Response] The SendGrid response.
|
38
|
+
# @note +email+ parameter is required.
|
39
|
+
def delete(email: nil)
|
40
|
+
if email.nil?
|
41
|
+
raise ArgumentError.new('Missing required `email` option')
|
42
|
+
end
|
43
|
+
res = connection.post(
|
44
|
+
'/api/spamreports.delete.json',
|
45
|
+
default_params(email: email))
|
46
|
+
craft_response(res)
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
class Sendgrid::Web::Unsubscribes < Sendgrid::Web::Client
|
2
|
+
|
3
|
+
# Retrieve a list of Unsubscribes with addresses and optionally with
|
4
|
+
# dates.
|
5
|
+
#
|
6
|
+
# @param date [Integer] Retrieve the timestamp of the unsubscribe
|
7
|
+
# records.
|
8
|
+
# @param days [Integer] Number of days in the past for which to
|
9
|
+
# retrieve unsubscribe records (includes today).
|
10
|
+
# @param start_date [DateTime] The start of the date range for which
|
11
|
+
# to retrieve unsubscribe records.
|
12
|
+
# @param end_date [DateTime] The end of the date range for which to
|
13
|
+
# retrieve unsubscribe records.
|
14
|
+
# @param limit [Integer] Optional field to limit the number of
|
15
|
+
# results returned.
|
16
|
+
# @param offset [Integer] Optional beginning point in the list to
|
17
|
+
# retrieve from.
|
18
|
+
# @return [Sendgrid::Web::Response] The SendGrid response.
|
19
|
+
# @note All parameters are optional.
|
20
|
+
def get(
|
21
|
+
date: nil, days: nil, start_date: nil,
|
22
|
+
end_date: nil, limit: nil, offset: nil)
|
23
|
+
res = connection.post(
|
24
|
+
'/api/unsubscribes.get.json',
|
25
|
+
default_params(
|
26
|
+
date: date,
|
27
|
+
days: days,
|
28
|
+
start_date: start_date,
|
29
|
+
end_date: end_date,
|
30
|
+
limit: limit,
|
31
|
+
offset: offset))
|
32
|
+
craft_response(res)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Delete an address from the Unsubscribe list.
|
36
|
+
#
|
37
|
+
# @param start_date [DateTime] Optional date to start retrieving
|
38
|
+
# for.
|
39
|
+
# @param end_date [DateTime] Optional date to end retrieving for.
|
40
|
+
# @param email [String] Unsubscribed email address to remove.
|
41
|
+
# @return [Sendgrid::Web::Response] The SendGrid response.
|
42
|
+
# @note If no parameters are provided the ENTIRE list will be
|
43
|
+
# removed.
|
44
|
+
def delete(
|
45
|
+
start_date: nil, end_date: nil, email: nil)
|
46
|
+
res = connection.post(
|
47
|
+
'/api/unsubscribes.delete.json',
|
48
|
+
default_params(
|
49
|
+
start_date: start_date,
|
50
|
+
end_date: end_date,
|
51
|
+
email: email))
|
52
|
+
craft_response(res)
|
53
|
+
end
|
54
|
+
|
55
|
+
# Add email addresses to the Unsubscribe list.
|
56
|
+
#
|
57
|
+
# @param email [String] Email address to add to unsubscribe list.
|
58
|
+
# @return [Sendgrid::Web::Response] The SendGrid response.
|
59
|
+
# @note +email+ is a required parameter.
|
60
|
+
def add(email: nil)
|
61
|
+
if email.nil?
|
62
|
+
raise ArgumentError.new('Missing required `email` option')
|
63
|
+
end
|
64
|
+
res = connection.post(
|
65
|
+
'/api/unsubscribes.add.json',
|
66
|
+
default_params(email: email))
|
67
|
+
craft_response(res)
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
data/lib/sendgrid/web/version.rb
CHANGED
data/lib/sendgrid/web.rb
CHANGED
@@ -12,6 +12,10 @@ module Sendgrid
|
|
12
12
|
autoload :InvalidEmails, 'sendgrid/web/invalid_emails'
|
13
13
|
autoload :Mail, 'sendgrid/web/mail'
|
14
14
|
autoload :Credentials, 'sendgrid/web/credentials'
|
15
|
+
autoload :ParseWebhookSettings, 'sendgrid/web/parse_webhook_settings'
|
16
|
+
autoload :Profile, 'sendgrid/web/profile'
|
17
|
+
autoload :SpamReports, 'sendgrid/web/spam_reports'
|
18
|
+
autoload :Unsubscribes, 'sendgrid/web/unsubscribes'
|
15
19
|
autoload :Response, 'sendgrid/web/response'
|
16
20
|
end
|
17
21
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sendgrid::Web::ParseWebhookSettings do
|
4
|
+
before(:all) do
|
5
|
+
Sendgrid::Web::Client.configure do |config|
|
6
|
+
config.username = 'foo'
|
7
|
+
config.password = 'bar'
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#get' do
|
12
|
+
it_behaves_like('a sendgrid response', '/api/parse.get.json') do
|
13
|
+
let(:action) { subject.get }
|
14
|
+
let(:response) do
|
15
|
+
'{
|
16
|
+
"parse": [
|
17
|
+
{
|
18
|
+
"hostname": "www.example.com",
|
19
|
+
"url": "www.mydomain.com/parse.php",
|
20
|
+
"spam_check": 1
|
21
|
+
}
|
22
|
+
]
|
23
|
+
}'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '#set' do
|
29
|
+
it_behaves_like('a sendgrid response', '/api/parse.set.json') do
|
30
|
+
let(:action) { subject.set(
|
31
|
+
hostname: 'www.example.com',
|
32
|
+
url: 'www.mydomain.com/parse.php') }
|
33
|
+
let(:response) do
|
34
|
+
'{
|
35
|
+
"message": "success"
|
36
|
+
}'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '#edit' do
|
42
|
+
it_behaves_like('a sendgrid response', '/api/parse.edit.json') do
|
43
|
+
let(:action) { subject.edit(
|
44
|
+
hostname: 'www.example.com',
|
45
|
+
url: 'www.mydomain.com/parse.php') }
|
46
|
+
let(:response) do
|
47
|
+
'{
|
48
|
+
"message": "success"
|
49
|
+
}'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#delete' do
|
55
|
+
it_behaves_like('a sendgrid response', '/api/parse.delete.json') do
|
56
|
+
let(:action) { subject.delete(hostname: 'www.example.com') }
|
57
|
+
let(:response) do
|
58
|
+
'{
|
59
|
+
"message": "success"
|
60
|
+
}'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sendgrid::Web::Profile do
|
4
|
+
before(:all) do
|
5
|
+
Sendgrid::Web::Client.configure do |config|
|
6
|
+
config.username = 'foo'
|
7
|
+
config.password = 'bar'
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#get' do
|
12
|
+
it_behaves_like('a sendgrid response', '/api/profile.get.json') do
|
13
|
+
let(:action) { subject.get }
|
14
|
+
let(:response) do
|
15
|
+
'[{
|
16
|
+
"username": "sampleuser@example.com",
|
17
|
+
"email": "sampleemail@example.com",
|
18
|
+
"active": "true",
|
19
|
+
"first_name": "john",
|
20
|
+
"last_name": "doe",
|
21
|
+
"address": "555 any street",
|
22
|
+
"city": "any city",
|
23
|
+
"state": "CA",
|
24
|
+
"zip": "91234",
|
25
|
+
"country": "US",
|
26
|
+
"phone": "555-555-5555",
|
27
|
+
"website": "example.com"
|
28
|
+
}]'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#set' do
|
34
|
+
it_behaves_like('a sendgrid response', '/api/profile.set.json') do
|
35
|
+
let(:action) { subject.set }
|
36
|
+
let(:response) do
|
37
|
+
'{
|
38
|
+
"message": "success"
|
39
|
+
}'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#set_password' do
|
45
|
+
it_behaves_like('a sendgrid response', '/api/password.set.json') do
|
46
|
+
let(:action) { subject.set_password(
|
47
|
+
password: 'foobar',
|
48
|
+
confirm_password: 'foobar') }
|
49
|
+
let(:response) do
|
50
|
+
'{
|
51
|
+
"message": "success"
|
52
|
+
}'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe '#set_username' do
|
58
|
+
it_behaves_like('a sendgrid response', '/api/profile.setUsername.json') do
|
59
|
+
let(:action) { subject.set_username(username: 'foobar') }
|
60
|
+
let(:response) do
|
61
|
+
'{
|
62
|
+
"message": "success"
|
63
|
+
}'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe '#set_email' do
|
69
|
+
it_behaves_like('a sendgrid response', '/api/profile.setEmail.json') do
|
70
|
+
let(:action) { subject.set_email(
|
71
|
+
email: 'foobar@example.com') }
|
72
|
+
let(:response) do
|
73
|
+
'{
|
74
|
+
"message": "success"
|
75
|
+
}'
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sendgrid::Web::SpamReports do
|
4
|
+
before(:all) do
|
5
|
+
Sendgrid::Web::Client.configure do |config|
|
6
|
+
config.username = 'foo'
|
7
|
+
config.password = 'bar'
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#get' do
|
12
|
+
it_behaves_like('a sendgrid response', '/api/spamreports.get.json') do
|
13
|
+
let(:action) { subject.get }
|
14
|
+
let(:response) do
|
15
|
+
'[
|
16
|
+
{
|
17
|
+
"ip": "174.36.80.219",
|
18
|
+
"email": "example@aol.com",
|
19
|
+
"created": "2009-12-06 15:45:08"
|
20
|
+
}
|
21
|
+
]'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '#delete' do
|
27
|
+
it_behaves_like('a sendgrid response', '/api/spamreports.delete.json') do
|
28
|
+
let(:action) { subject.delete(email: 'foobar@example.com') }
|
29
|
+
let(:response) do
|
30
|
+
'{
|
31
|
+
"message": "success"
|
32
|
+
}'
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sendgrid::Web::Unsubscribes do
|
4
|
+
before(:all) do
|
5
|
+
Sendgrid::Web::Client.configure do |config|
|
6
|
+
config.username = 'foo'
|
7
|
+
config.password = 'bar'
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#get' do
|
12
|
+
it_behaves_like('a sendgrid response', '/api/unsubscribes.get.json') do
|
13
|
+
let(:action) { subject.get }
|
14
|
+
let(:response) do
|
15
|
+
'[
|
16
|
+
{
|
17
|
+
"email": "brandon.west@sendgrid.com",
|
18
|
+
"created": "2012-09-06 14:03:18"
|
19
|
+
}
|
20
|
+
]'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#delete' do
|
26
|
+
it_behaves_like('a sendgrid response', '/api/unsubscribes.delete.json') do
|
27
|
+
let(:action) { subject.delete }
|
28
|
+
let(:response) do
|
29
|
+
'{
|
30
|
+
"message": "success"
|
31
|
+
}'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '#add' do
|
37
|
+
it_behaves_like('a sendgrid response', '/api/unsubscribes.add.json') do
|
38
|
+
let(:action) { subject.add(email: 'foobar@example.com') }
|
39
|
+
let(:response) do
|
40
|
+
'{
|
41
|
+
"message": "success"
|
42
|
+
}'
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Coxall
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -105,7 +105,11 @@ files:
|
|
105
105
|
- lib/sendgrid/web/filter_commands.rb
|
106
106
|
- lib/sendgrid/web/invalid_emails.rb
|
107
107
|
- lib/sendgrid/web/mail.rb
|
108
|
+
- lib/sendgrid/web/parse_webhook_settings.rb
|
109
|
+
- lib/sendgrid/web/profile.rb
|
108
110
|
- lib/sendgrid/web/response.rb
|
111
|
+
- lib/sendgrid/web/spam_reports.rb
|
112
|
+
- lib/sendgrid/web/unsubscribes.rb
|
109
113
|
- lib/sendgrid/web/version.rb
|
110
114
|
- sendgrid-web.gemspec
|
111
115
|
- spec/sendgrid/web/blocks_spec.rb
|
@@ -116,7 +120,11 @@ files:
|
|
116
120
|
- spec/sendgrid/web/filter_commands_spec.rb
|
117
121
|
- spec/sendgrid/web/invalid_emails_spec.rb
|
118
122
|
- spec/sendgrid/web/mail_spec.rb
|
123
|
+
- spec/sendgrid/web/parse_webhook_settings_spec.rb
|
124
|
+
- spec/sendgrid/web/profile_spec.rb
|
119
125
|
- spec/sendgrid/web/response_spec.rb
|
126
|
+
- spec/sendgrid/web/spam_reports_spec.rb
|
127
|
+
- spec/sendgrid/web/unsubscribes_spec.rb
|
120
128
|
- spec/spec_helper.rb
|
121
129
|
- spec/support/shared_sendgrid_response.rb
|
122
130
|
homepage: https://github.com/FreakyDazio/sendgrid-web
|
@@ -152,6 +160,10 @@ test_files:
|
|
152
160
|
- spec/sendgrid/web/filter_commands_spec.rb
|
153
161
|
- spec/sendgrid/web/invalid_emails_spec.rb
|
154
162
|
- spec/sendgrid/web/mail_spec.rb
|
163
|
+
- spec/sendgrid/web/parse_webhook_settings_spec.rb
|
164
|
+
- spec/sendgrid/web/profile_spec.rb
|
155
165
|
- spec/sendgrid/web/response_spec.rb
|
166
|
+
- spec/sendgrid/web/spam_reports_spec.rb
|
167
|
+
- spec/sendgrid/web/unsubscribes_spec.rb
|
156
168
|
- spec/spec_helper.rb
|
157
169
|
- spec/support/shared_sendgrid_response.rb
|