sendgrid_toolkit 1.1.1 → 1.2.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.
- data/.rvmrc +1 -1
- data/VERSION +1 -1
- data/lib/sendgrid_toolkit.rb +1 -0
- data/lib/sendgrid_toolkit/blocks.rb +7 -0
- data/sendgrid_toolkit.gemspec +5 -3
- data/spec/lib/sendgrid_toolkit/blocks_spec.rb +52 -0
- metadata +41 -14
data/.rvmrc
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.2.0
|
data/lib/sendgrid_toolkit.rb
CHANGED
@@ -7,6 +7,7 @@ require 'sendgrid_toolkit/statistics'
|
|
7
7
|
require 'sendgrid_toolkit/unsubscribes'
|
8
8
|
require 'sendgrid_toolkit/spam_reports'
|
9
9
|
require 'sendgrid_toolkit/bounces'
|
10
|
+
require 'sendgrid_toolkit/blocks'
|
10
11
|
require 'sendgrid_toolkit/invalid_emails'
|
11
12
|
require 'sendgrid_toolkit/mail'
|
12
13
|
|
data/sendgrid_toolkit.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "sendgrid_toolkit"
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Robby Grossman"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-08-14"
|
13
13
|
s.description = "A Ruby wrapper and utility library for communicating with the Sendgrid API."
|
14
14
|
s.email = "robby@freerobby.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
"VERSION",
|
27
27
|
"lib/sendgrid_toolkit.rb",
|
28
28
|
"lib/sendgrid_toolkit/abstract_sendgrid_client.rb",
|
29
|
+
"lib/sendgrid_toolkit/blocks.rb",
|
29
30
|
"lib/sendgrid_toolkit/bounces.rb",
|
30
31
|
"lib/sendgrid_toolkit/common.rb",
|
31
32
|
"lib/sendgrid_toolkit/invalid_emails.rb",
|
@@ -37,6 +38,7 @@ Gem::Specification.new do |s|
|
|
37
38
|
"sendgrid_toolkit.gemspec",
|
38
39
|
"spec/helper.rb",
|
39
40
|
"spec/lib/sendgrid_toolkit/abstract_sendgrid_client_spec.rb",
|
41
|
+
"spec/lib/sendgrid_toolkit/blocks_spec.rb",
|
40
42
|
"spec/lib/sendgrid_toolkit/bounces_spec.rb",
|
41
43
|
"spec/lib/sendgrid_toolkit/common_spec.rb",
|
42
44
|
"spec/lib/sendgrid_toolkit/invalid_emails_spec.rb",
|
@@ -50,7 +52,7 @@ Gem::Specification.new do |s|
|
|
50
52
|
s.homepage = "http://github.com/freerobby/sendgrid_toolkit"
|
51
53
|
s.licenses = ["MIT"]
|
52
54
|
s.require_paths = ["lib"]
|
53
|
-
s.rubygems_version = "1.8.
|
55
|
+
s.rubygems_version = "1.8.24"
|
54
56
|
s.summary = "sendgrid_toolkit = Sendgrid + Ruby"
|
55
57
|
|
56
58
|
if s.respond_to? :specification_version then
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require File.expand_path("#{File.dirname(__FILE__)}/../../helper")
|
2
|
+
|
3
|
+
describe SendgridToolkit::Blocks do
|
4
|
+
before do
|
5
|
+
FakeWeb.clean_registry
|
6
|
+
@obj = SendgridToolkit::Blocks.new("fakeuser", "fakepass")
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "#retrieve" do
|
10
|
+
it "returns array of bounced emails" do
|
11
|
+
FakeWeb.register_uri(:post, %r|https://sendgrid\.com/api/blocks\.get\.json\?|, :body => '[{"email":"email1@domain.com","status":"5.1.1","reason":"host [127.0.0.1] said: 550 5.1.1 unknown or illegal user: email1@domain.com"},{"email":"email2@domain2.com","status":"5.1.1","reason":"host [127.0.0.1] said: 550 5.1.1 unknown or illegal user: email2@domain2.com"}]')
|
12
|
+
blocks = @obj.retrieve
|
13
|
+
blocks[0]['email'].should == "email1@domain.com"
|
14
|
+
blocks[0]['status'].should == "5.1.1"
|
15
|
+
blocks[0]['reason'].should == "host [127.0.0.1] said: 550 5.1.1 unknown or illegal user: email1@domain.com"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "#retrieve_with_timestamps" do
|
20
|
+
it "parses timestamps" do
|
21
|
+
FakeWeb.register_uri(:post, %r|https://sendgrid\.com/api/blocks\.get\.json\?.*date=1|, :body => '[{"email":"email1@domain.com","status":"5.1.1","reason":"host [127.0.0.1] said: 550 5.1.1 unknown or illegal user: email1@domain.com","created":"2009-06-01 19:41:39"},{"email":"email2@domain2.com","status":"5.1.1","reason":"host [127.0.0.1] said: 550 5.1.1 unknown or illegal user: email2@domain2.com","created":"2009-06-12 19:41:39"}]')
|
22
|
+
blocks = @obj.retrieve_with_timestamps
|
23
|
+
0.upto(1) do |index|
|
24
|
+
blocks[index]['created'].kind_of?(Time).should == true
|
25
|
+
end
|
26
|
+
blocks[0]['created'].asctime.should == "Mon Jun 1 19:41:39 2009"
|
27
|
+
blocks[1]['created'].asctime.should == "Fri Jun 12 19:41:39 2009"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "#delete" do
|
32
|
+
it "raises no errors on success" do
|
33
|
+
FakeWeb.register_uri(:post, %r|https://sendgrid\.com/api/blocks\.delete\.json\?.*email=.+|, :body => '{"message":"success"}')
|
34
|
+
lambda {
|
35
|
+
@obj.delete :email => "user@domain.com"
|
36
|
+
}.should_not raise_error
|
37
|
+
end
|
38
|
+
it "raises error when email address does not exist" do
|
39
|
+
FakeWeb.register_uri(:post, %r|https://sendgrid\.com/api/blocks\.delete\.json\?.*email=.+|, :body => '{"message":"Email does not exist"}')
|
40
|
+
lambda {
|
41
|
+
@obj.delete :email => "user@domain.com"
|
42
|
+
}.should raise_error SendgridToolkit::EmailDoesNotExist
|
43
|
+
end
|
44
|
+
it "does not choke if response does not have a 'message' field" do
|
45
|
+
FakeWeb.register_uri(:post, %r|https://sendgrid\.com/api/blocks\.delete\.json\?.*email=.+|, :body => '{}')
|
46
|
+
lambda {
|
47
|
+
@obj.delete :email => "user@domain.com"
|
48
|
+
}.should_not raise_error
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid_toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 0.7.6
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.7.6
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: bundler
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 1.0.0
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.0.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: fakeweb
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 1.3.0
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.3.0
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: jeweler
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 1.6.4
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.6.4
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rspec
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ~>
|
@@ -65,7 +85,12 @@ dependencies:
|
|
65
85
|
version: 2.7.0
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 2.7.0
|
69
94
|
description: A Ruby wrapper and utility library for communicating with the Sendgrid
|
70
95
|
API.
|
71
96
|
email: robby@freerobby.com
|
@@ -84,6 +109,7 @@ files:
|
|
84
109
|
- VERSION
|
85
110
|
- lib/sendgrid_toolkit.rb
|
86
111
|
- lib/sendgrid_toolkit/abstract_sendgrid_client.rb
|
112
|
+
- lib/sendgrid_toolkit/blocks.rb
|
87
113
|
- lib/sendgrid_toolkit/bounces.rb
|
88
114
|
- lib/sendgrid_toolkit/common.rb
|
89
115
|
- lib/sendgrid_toolkit/invalid_emails.rb
|
@@ -95,6 +121,7 @@ files:
|
|
95
121
|
- sendgrid_toolkit.gemspec
|
96
122
|
- spec/helper.rb
|
97
123
|
- spec/lib/sendgrid_toolkit/abstract_sendgrid_client_spec.rb
|
124
|
+
- spec/lib/sendgrid_toolkit/blocks_spec.rb
|
98
125
|
- spec/lib/sendgrid_toolkit/bounces_spec.rb
|
99
126
|
- spec/lib/sendgrid_toolkit/common_spec.rb
|
100
127
|
- spec/lib/sendgrid_toolkit/invalid_emails_spec.rb
|
@@ -119,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
146
|
version: '0'
|
120
147
|
segments:
|
121
148
|
- 0
|
122
|
-
hash:
|
149
|
+
hash: -2495959361367447687
|
123
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
151
|
none: false
|
125
152
|
requirements:
|
@@ -128,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
155
|
version: '0'
|
129
156
|
requirements: []
|
130
157
|
rubyforge_project:
|
131
|
-
rubygems_version: 1.8.
|
158
|
+
rubygems_version: 1.8.24
|
132
159
|
signing_key:
|
133
160
|
specification_version: 3
|
134
161
|
summary: sendgrid_toolkit = Sendgrid + Ruby
|