sendgrid-newsletter 0.0.1
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.
- data/.gitignore +19 -0
- data/.rspec +1 -0
- data/.simplecov +7 -0
- data/Gemfile +11 -0
- data/Guardfile +19 -0
- data/LICENSE +22 -0
- data/README.md +29 -0
- data/Rakefile +15 -0
- data/lib/sendgrid-newsletter.rb +16 -0
- data/lib/sendgrid-newsletter/base.rb +20 -0
- data/lib/sendgrid-newsletter/config.rb +9 -0
- data/lib/sendgrid-newsletter/email.rb +26 -0
- data/lib/sendgrid-newsletter/errors.rb +8 -0
- data/lib/sendgrid-newsletter/list.rb +22 -0
- data/lib/sendgrid-newsletter/newsletter.rb +29 -0
- data/lib/sendgrid-newsletter/recipient.rb +22 -0
- data/lib/sendgrid-newsletter/schedule.rb +22 -0
- data/lib/sendgrid-newsletter/version.rb +5 -0
- data/sendgrid-newsletter.gemspec +22 -0
- data/spec/fixtures/vcr_cassettes/adding_bulk_emails_on_list.yml +806 -0
- data/spec/fixtures/vcr_cassettes/adding_emails_on_list.yml +31 -0
- data/spec/fixtures/vcr_cassettes/adding_emails_with_data_on_list.yml +32 -0
- data/spec/fixtures/vcr_cassettes/adding_recipients_to_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/adding_schedule_to_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/check_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/create_list_successfully.yml +30 -0
- data/spec/fixtures/vcr_cassettes/delete_list_successfully.yml +30 -0
- data/spec/fixtures/vcr_cassettes/error_adding_emails_on_list.yml +31 -0
- data/spec/fixtures/vcr_cassettes/error_adding_recipients_to_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/error_adding_schedule_to_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/error_removing_recipients_to_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/error_removing_schedule_to_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/existent_check_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/existent_identity.yml +30 -0
- data/spec/fixtures/vcr_cassettes/existent_identity_on_edit.yml +30 -0
- data/spec/fixtures/vcr_cassettes/inexistent_identity.yml +30 -0
- data/spec/fixtures/vcr_cassettes/inexistent_identity_on_edit.yml +30 -0
- data/spec/fixtures/vcr_cassettes/list_exist.yml +30 -0
- data/spec/fixtures/vcr_cassettes/list_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/list_non_exist_on_deletion.yml +30 -0
- data/spec/fixtures/vcr_cassettes/removing_recipients_from_newsletter.yml +30 -0
- data/spec/fixtures/vcr_cassettes/removing_schedule_from_newsletter.yml +30 -0
- data/spec/sendgrid-newsletter/config_spec.rb +20 -0
- data/spec/sendgrid-newsletter/email_spec.rb +63 -0
- data/spec/sendgrid-newsletter/list_spec.rb +54 -0
- data/spec/sendgrid-newsletter/newsletter_spec.rb +115 -0
- data/spec/sendgrid-newsletter/recipient_spec.rb +65 -0
- data/spec/sendgrid-newsletter/schedule_spec.rb +52 -0
- data/spec/spec_helper.rb +16 -0
- metadata +180 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/lists/email/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: list=cool_list&data[]={"name":"foo bar","email":"foo@bar.com"}&data[]={"name":"foo2
|
9
|
+
bar","email":"foo2@bar.com"}
|
10
|
+
headers: {}
|
11
|
+
response:
|
12
|
+
status:
|
13
|
+
code: 200
|
14
|
+
message: OK
|
15
|
+
headers:
|
16
|
+
Server:
|
17
|
+
- nginx/0.7.65
|
18
|
+
Date:
|
19
|
+
- Wed, 21 Mar 2012 21:40:41 GMT
|
20
|
+
Content-Type:
|
21
|
+
- text/html
|
22
|
+
Transfer-Encoding:
|
23
|
+
- chunked
|
24
|
+
Connection:
|
25
|
+
- keep-alive
|
26
|
+
body:
|
27
|
+
encoding: US-ASCII
|
28
|
+
string: ! '{"inserted": 2}'
|
29
|
+
http_version: !!null
|
30
|
+
recorded_at: Wed, 21 Mar 2012 21:40:41 GMT
|
31
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/lists/email/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: list=cool_list&data[]={"name":"foo bar","email":"foo@bar.com","address":"1
|
9
|
+
Street, 0"}&data[]={"name":"foo2 bar","email":"foo2@bar.com","address":"1
|
10
|
+
Street, 3"}
|
11
|
+
headers: {}
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message: OK
|
16
|
+
headers:
|
17
|
+
Server:
|
18
|
+
- nginx/0.7.65
|
19
|
+
Date:
|
20
|
+
- Sat, 31 Mar 2012 13:25:02 GMT
|
21
|
+
Content-Type:
|
22
|
+
- text/html
|
23
|
+
Transfer-Encoding:
|
24
|
+
- chunked
|
25
|
+
Connection:
|
26
|
+
- keep-alive
|
27
|
+
body:
|
28
|
+
encoding: US-ASCII
|
29
|
+
string: ! '{"inserted": 2}'
|
30
|
+
http_version: !!null
|
31
|
+
recorded_at: Sat, 31 Mar 2012 13:25:02 GMT
|
32
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/recipients/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: name=Cool%20News&list=cool_list
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 01:53:08 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"message": "success"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 01:53:08 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/schedule/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: name=Cool%20News&after=90
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 02:40:24 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"message": "success"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 02:40:23 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://sendgrid.com/api/newsletter/list.json?api_key=testnewsletter&api_user=news_test&name=Inexistent%20News
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Fri, 30 Mar 2012 18:11:09 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '[]'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Fri, 30 Mar 2012 18:11:09 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/lists/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: list=Cool%20List
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Tue, 20 Mar 2012 22:02:30 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"message": "success"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Tue, 20 Mar 2012 22:02:30 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/lists/delete.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: list=Cool%20List
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 02:01:34 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"message": "success"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 02:01:34 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/lists/email/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: list=bad_list&data[]={"name":"foo bar","email":"foo@bar.com"}&data[]={"name":"foo2
|
9
|
+
bar","email":"foo2@bar.com"}
|
10
|
+
headers: {}
|
11
|
+
response:
|
12
|
+
status:
|
13
|
+
code: 401
|
14
|
+
message: Unauthorized
|
15
|
+
headers:
|
16
|
+
Server:
|
17
|
+
- nginx/0.7.65
|
18
|
+
Date:
|
19
|
+
- Wed, 21 Mar 2012 21:37:58 GMT
|
20
|
+
Content-Type:
|
21
|
+
- text/html
|
22
|
+
Transfer-Encoding:
|
23
|
+
- chunked
|
24
|
+
Connection:
|
25
|
+
- keep-alive
|
26
|
+
body:
|
27
|
+
encoding: US-ASCII
|
28
|
+
string: ! '{"error": "bad_list does not exist"}'
|
29
|
+
http_version: !!null
|
30
|
+
recorded_at: Wed, 21 Mar 2012 21:37:58 GMT
|
31
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/recipients/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: name=Bad%20News&list=bad_list
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 401
|
13
|
+
message: Unauthorized
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 01:50:08 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"error": "Bad News does not exist"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 01:50:08 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/schedule/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: name=Bad%20News
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 401
|
13
|
+
message: Unauthorized
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 02:40:26 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"error": "Bad News does not exist"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 02:40:24 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/recipients/delete.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: name=Bad%20News&list=bad_list
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 401
|
13
|
+
message: Unauthorized
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 02:01:36 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"error": "Bad News does not exist"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 02:01:36 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/schedule/delete.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: name=Bad%20News
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 401
|
13
|
+
message: Unauthorized
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Thu, 22 Mar 2012 02:40:28 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"error": "Bad News does not exist"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Thu, 22 Mar 2012 02:40:26 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://sendgrid.com/api/newsletter/list.json?api_key=testnewsletter&api_user=news_test&name=Cool%20News
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Fri, 30 Mar 2012 18:19:10 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '[{"name": "Cool News"}]'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Fri, 30 Mar 2012 18:19:10 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/add.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: text=Text&html=Text&name=Beatiful%20news&identity=Beatiful%20Girl&subject=Text
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Tue, 20 Mar 2012 21:05:00 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"message": "success"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Tue, 20 Mar 2012 21:05:00 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://sendgrid.com/api/newsletter/edit.json?api_key=testnewsletter&api_user=news_test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: text=Text&html=Text&name=Beatiful%20news&newname=Beatiful%20news&identity=From%20Grubster&subject=Text
|
9
|
+
headers: {}
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
Server:
|
16
|
+
- nginx/0.7.65
|
17
|
+
Date:
|
18
|
+
- Sat, 31 Mar 2012 14:12:47 GMT
|
19
|
+
Content-Type:
|
20
|
+
- text/html
|
21
|
+
Transfer-Encoding:
|
22
|
+
- chunked
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
body:
|
26
|
+
encoding: US-ASCII
|
27
|
+
string: ! '{"message": "success"}'
|
28
|
+
http_version: !!null
|
29
|
+
recorded_at: Sat, 31 Mar 2012 14:12:47 GMT
|
30
|
+
recorded_with: VCR 2.0.0
|