aws-ses 0.5.0 → 0.6.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.
- checksums.yaml +7 -0
- data/Gemfile +3 -4
- data/Gemfile.lock +7 -24
- data/README.erb +1 -1
- data/README.rdoc +15 -4
- data/Rakefile +8 -21
- data/VERSION +1 -1
- data/aws-ses.gemspec +2 -11
- data/lib/aws/ses/base.rb +13 -1
- data/lib/aws/ses/send_email.rb +36 -24
- data/test/send_email_test.rb +46 -8
- metadata +19 -81
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5d83b84b06b584bdb5c4643e75dde6cd185d7b54
|
4
|
+
data.tar.gz: f7c7c7d108a5e87ba91b5249f2e8795a6ace7606
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bd17ce170e886f373038bbee96b593398ad2f9a1397bcce409cc7d9c0ecdcd6adceca4756d9380b7d114cc503797065de349df675ff409d1a8ab8806c147e00b
|
7
|
+
data.tar.gz: 97d79a71412f8bf55659ac2bca9697072b5ad0a7ec6531d45ab249d56e817f6b56f0f432b1a2f21acdf9a5cb3c68869dd3aa5f50ae853828b6cc9bd25a46fd47
|
data/Gemfile
CHANGED
@@ -7,13 +7,12 @@ source "http://rubygems.org"
|
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
9
|
gem "shoulda-context", ">= 0"
|
10
|
-
gem "bundler"
|
11
|
-
gem "
|
12
|
-
gem "rcov", ">= 0"
|
10
|
+
gem "bundler"
|
11
|
+
#gem "rcov", ">= 0"
|
13
12
|
gem 'flexmock', '~> 0.8.11'
|
14
13
|
end
|
15
14
|
|
16
15
|
gem 'xml-simple'
|
17
16
|
gem 'builder'
|
18
17
|
gem 'mime-types'
|
19
|
-
gem 'mail', '> 2.2.5'
|
18
|
+
gem 'mail', '> 2.2.5'
|
data/Gemfile.lock
CHANGED
@@ -1,39 +1,22 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
|
5
|
-
builder (3.0.0)
|
4
|
+
builder (3.2.2)
|
6
5
|
flexmock (0.8.11)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
rake
|
13
|
-
mail (2.2.15)
|
14
|
-
activesupport (>= 2.3.6)
|
15
|
-
i18n (>= 0.4.0)
|
16
|
-
mime-types (~> 1.16)
|
17
|
-
treetop (~> 1.4.8)
|
18
|
-
mime-types (1.16)
|
19
|
-
polyglot (0.3.1)
|
20
|
-
rake (0.8.7)
|
21
|
-
rcov (0.9.9)
|
22
|
-
shoulda-context (1.0.0.beta1)
|
23
|
-
treetop (1.4.9)
|
24
|
-
polyglot (>= 0.3.1)
|
25
|
-
xml-simple (1.0.13)
|
6
|
+
mail (2.6.1)
|
7
|
+
mime-types (>= 1.16, < 3)
|
8
|
+
mime-types (2.4.1)
|
9
|
+
shoulda-context (1.2.1)
|
10
|
+
xml-simple (1.1.4)
|
26
11
|
|
27
12
|
PLATFORMS
|
28
13
|
ruby
|
29
14
|
|
30
15
|
DEPENDENCIES
|
31
16
|
builder
|
32
|
-
bundler
|
17
|
+
bundler
|
33
18
|
flexmock (~> 0.8.11)
|
34
|
-
jeweler (~> 1.5.2)
|
35
19
|
mail (> 2.2.5)
|
36
20
|
mime-types
|
37
|
-
rcov
|
38
21
|
shoulda-context
|
39
22
|
xml-simple
|
data/README.erb
CHANGED
data/README.rdoc
CHANGED
@@ -19,6 +19,17 @@ Before you can do anything, you must establish a connection using Base.new. A b
|
|
19
19
|
|
20
20
|
The minimum connection options that you must specify are your access key id and your secret access key.
|
21
21
|
|
22
|
+
=== Connecting to a server from another region
|
23
|
+
|
24
|
+
The default server API endpoint is "email.us-east-1.amazonaws.com", corresponding to the US East 1 region.
|
25
|
+
|
26
|
+
To connect to a different one, just pass it as a parameter to the AWS::SES::Base initializer:
|
27
|
+
|
28
|
+
ses = AWS::SES::Base.new(
|
29
|
+
:access_key_id => 'abc',
|
30
|
+
:secret_access_key => '123',
|
31
|
+
:server => 'email.eu-west-1.amazonaws.com'
|
32
|
+
)
|
22
33
|
|
23
34
|
== Send E-mail
|
24
35
|
|
@@ -26,12 +37,12 @@ Adds functionality for send_email and send_raw_email
|
|
26
37
|
Use the following to send an e-mail:
|
27
38
|
|
28
39
|
ses = AWS::SES::Base.new( ... connection info ... )
|
29
|
-
ses.send_email
|
40
|
+
ses.send_email(
|
30
41
|
:to => ['jon@example.com', 'dave@example.com'],
|
31
42
|
:source => '"Steve Smith" <steve@example.com>',
|
32
|
-
:subject => 'Subject Line'
|
43
|
+
:subject => 'Subject Line',
|
33
44
|
:text_body => 'Internal text body'
|
34
|
-
|
45
|
+
)
|
35
46
|
By default, the email "from" display address is whatever is before the @.
|
36
47
|
To change the display from, use the format:
|
37
48
|
|
@@ -130,7 +141,7 @@ This gem is compatible with Rails >= 3.0.0 and Rails 2.3.x
|
|
130
141
|
|
131
142
|
To use, first add the gem to your Gemfile:
|
132
143
|
|
133
|
-
gem "aws-ses", "~> 0.
|
144
|
+
gem "aws-ses", "~> 0.6.0", :require => 'aws/ses'
|
134
145
|
|
135
146
|
== For Rails 3.x
|
136
147
|
|
data/Rakefile
CHANGED
@@ -11,20 +11,6 @@ require 'rake'
|
|
11
11
|
|
12
12
|
require 'erb'
|
13
13
|
|
14
|
-
require 'jeweler'
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
-
gem.name = "aws-ses"
|
18
|
-
gem.homepage = "http://github.com/drewblas/aws-ses"
|
19
|
-
gem.license = "MIT"
|
20
|
-
gem.summary = %Q{Client library for Amazon's Simple Email Service's REST API}
|
21
|
-
gem.description = gem.summary
|
22
|
-
gem.email = "drew.blas@gmail.com"
|
23
|
-
gem.authors = ["Drew Blas", 'Marcel Molina Jr.']
|
24
|
-
# Do not add dependencies here because Jewler will add them from the Gemfile
|
25
|
-
end
|
26
|
-
Jeweler::RubygemsDotOrgTasks.new
|
27
|
-
|
28
14
|
require 'rake/testtask'
|
29
15
|
Rake::TestTask.new(:test) do |test|
|
30
16
|
test.libs << 'lib' << 'test'
|
@@ -32,16 +18,16 @@ Rake::TestTask.new(:test) do |test|
|
|
32
18
|
test.verbose = true
|
33
19
|
end
|
34
20
|
|
35
|
-
require 'rcov/rcovtask'
|
36
|
-
Rcov::RcovTask.new do |test|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
end
|
21
|
+
# require 'rcov/rcovtask'
|
22
|
+
# Rcov::RcovTask.new do |test|
|
23
|
+
# test.libs << 'test'
|
24
|
+
# test.pattern = 'test/**/*_test.rb'
|
25
|
+
# test.verbose = true
|
26
|
+
# end
|
41
27
|
|
42
28
|
task :default => :test
|
43
29
|
|
44
|
-
require '
|
30
|
+
require 'rdoc/task'
|
45
31
|
require File.dirname(__FILE__) + '/lib/aws/ses'
|
46
32
|
|
47
33
|
namespace :doc do
|
@@ -64,6 +50,7 @@ namespace :doc do
|
|
64
50
|
system 'open doc/index.html'
|
65
51
|
end
|
66
52
|
|
53
|
+
desc "Generate readme.rdoc from readme.erb"
|
67
54
|
task :readme do
|
68
55
|
require 'support/rdoc/code_info'
|
69
56
|
RDoc::CodeInfo.parse('lib/**/*.rb')
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.6.0
|
data/aws-ses.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "aws-ses"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.6.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Drew Blas", "Marcel Molina Jr."]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2014-10-13"
|
13
13
|
s.description = "Client library for Amazon's Simple Email Service's REST API"
|
14
14
|
s.email = "drew.blas@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -75,9 +75,6 @@ Gem::Specification.new do |s|
|
|
75
75
|
s.add_runtime_dependency(%q<mime-types>, [">= 0"])
|
76
76
|
s.add_runtime_dependency(%q<mail>, ["> 2.2.5"])
|
77
77
|
s.add_development_dependency(%q<shoulda-context>, [">= 0"])
|
78
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
79
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
80
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
81
78
|
s.add_development_dependency(%q<flexmock>, ["~> 0.8.11"])
|
82
79
|
else
|
83
80
|
s.add_dependency(%q<xml-simple>, [">= 0"])
|
@@ -85,9 +82,6 @@ Gem::Specification.new do |s|
|
|
85
82
|
s.add_dependency(%q<mime-types>, [">= 0"])
|
86
83
|
s.add_dependency(%q<mail>, ["> 2.2.5"])
|
87
84
|
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
88
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
89
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
90
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
91
85
|
s.add_dependency(%q<flexmock>, ["~> 0.8.11"])
|
92
86
|
end
|
93
87
|
else
|
@@ -96,9 +90,6 @@ Gem::Specification.new do |s|
|
|
96
90
|
s.add_dependency(%q<mime-types>, [">= 0"])
|
97
91
|
s.add_dependency(%q<mail>, ["> 2.2.5"])
|
98
92
|
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
99
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
100
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
101
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
102
93
|
s.add_dependency(%q<flexmock>, ["~> 0.8.11"])
|
103
94
|
end
|
104
95
|
end
|
data/lib/aws/ses/base.rb
CHANGED
@@ -17,6 +17,18 @@ module AWS #:nodoc:
|
|
17
17
|
# )
|
18
18
|
#
|
19
19
|
# The minimum connection options that you must specify are your access key id and your secret access key.
|
20
|
+
#
|
21
|
+
# === Connecting to a server from another region
|
22
|
+
#
|
23
|
+
# The default server API endpoint is "email.us-east-1.amazonaws.com", corresponding to the US East 1 region.
|
24
|
+
# To connect to a different one, just pass it as a parameter to the AWS::SES::Base initializer:
|
25
|
+
#
|
26
|
+
# ses = AWS::SES::Base.new(
|
27
|
+
# :access_key_id => 'abc',
|
28
|
+
# :secret_access_key => '123',
|
29
|
+
# :server => 'email.eu-west-1.amazonaws.com'
|
30
|
+
# )
|
31
|
+
|
20
32
|
module SES
|
21
33
|
|
22
34
|
API_VERSION = '2010-12-01'
|
@@ -35,7 +47,7 @@ module AWS #:nodoc:
|
|
35
47
|
# @param [Boolean] urlencode whether or not to url encode the result., true or false
|
36
48
|
# @return [String] the signed and encoded string.
|
37
49
|
def SES.encode(secret_access_key, str, urlencode=true)
|
38
|
-
digest = OpenSSL::Digest
|
50
|
+
digest = OpenSSL::Digest.new('sha256')
|
39
51
|
b64_hmac =
|
40
52
|
Base64.encode64(
|
41
53
|
OpenSSL::HMAC.digest(digest, secret_access_key, str)).gsub("\n","")
|
data/lib/aws/ses/send_email.rb
CHANGED
@@ -22,7 +22,7 @@ module AWS
|
|
22
22
|
# send_raw_email will also take a hash and pass it through Mail.new automatically as well.
|
23
23
|
#
|
24
24
|
module SendEmail
|
25
|
-
|
25
|
+
|
26
26
|
# Sends an email through SES
|
27
27
|
#
|
28
28
|
# the destination parameters can be:
|
@@ -51,25 +51,25 @@ module AWS
|
|
51
51
|
# @return [Response] the response to sending this e-mail
|
52
52
|
def send_email(options = {})
|
53
53
|
package = {}
|
54
|
-
|
54
|
+
|
55
55
|
package['Source'] = options[:source] || options[:from]
|
56
|
-
|
56
|
+
|
57
57
|
add_array_to_hash!(package, 'Destination.ToAddresses', options[:to]) if options[:to]
|
58
58
|
add_array_to_hash!(package, 'Destination.CcAddresses', options[:cc]) if options[:cc]
|
59
59
|
add_array_to_hash!(package, 'Destination.BccAddresses', options[:bcc]) if options[:bcc]
|
60
|
-
|
60
|
+
|
61
61
|
package['Message.Subject.Data'] = options[:subject]
|
62
|
-
|
62
|
+
|
63
63
|
package['Message.Body.Html.Data'] = options[:html_body] if options[:html_body]
|
64
64
|
package['Message.Body.Text.Data'] = options[:text_body] || options[:body] if options[:text_body] || options[:body]
|
65
|
-
|
65
|
+
|
66
66
|
package['ReturnPath'] = options[:return_path] if options[:return_path]
|
67
|
-
|
67
|
+
|
68
68
|
add_array_to_hash!(package, 'ReplyToAddresses', options[:reply_to]) if options[:reply_to]
|
69
|
-
|
69
|
+
|
70
70
|
request('SendEmail', package)
|
71
71
|
end
|
72
|
-
|
72
|
+
|
73
73
|
# Sends using the SendRawEmail method
|
74
74
|
# This gives the most control and flexibility
|
75
75
|
#
|
@@ -98,24 +98,36 @@ module AWS
|
|
98
98
|
def send_raw_email(mail, args = {})
|
99
99
|
message = mail.is_a?(Hash) ? Mail.new(mail) : mail
|
100
100
|
raise ArgumentError, "Attachment provided without message body" if message.has_attachments? && message.text_part.nil? && message.html_part.nil?
|
101
|
+
|
102
|
+
raw_email = build_raw_email(message, args)
|
103
|
+
result = request('SendRawEmail', raw_email)
|
104
|
+
message.message_id = "#{result.parsed['SendRawEmailResult']['MessageId']}@email.amazonses.com"
|
105
|
+
result
|
106
|
+
end
|
107
|
+
|
108
|
+
alias :deliver! :send_raw_email
|
109
|
+
alias :deliver :send_raw_email
|
110
|
+
|
111
|
+
private
|
112
|
+
|
113
|
+
def build_raw_email(message, args = {})
|
114
|
+
# the message.to_s includes the :to and :cc addresses
|
101
115
|
package = { 'RawMessage.Data' => Base64::encode64(message.to_s) }
|
102
116
|
package['Source'] = args[:from] if args[:from]
|
103
117
|
package['Source'] = args[:source] if args[:source]
|
104
118
|
if args[:destinations]
|
105
119
|
add_array_to_hash!(package, 'Destinations', args[:destinations])
|
106
120
|
else
|
107
|
-
|
121
|
+
mail_addresses = [message.to, message.cc, message.bcc].flatten.compact
|
122
|
+
args_addresses = [args[:to], args[:cc], args[:bcc]].flatten.compact
|
123
|
+
|
124
|
+
mail_addresses = args_addresses unless args_addresses.empty?
|
125
|
+
|
126
|
+
add_array_to_hash!(package, 'Destinations', mail_addresses)
|
108
127
|
end
|
109
|
-
|
110
|
-
message.message_id = "#{result.parsed['SendRawEmailResult']['MessageId']}@email.amazonses.com"
|
111
|
-
result
|
128
|
+
package
|
112
129
|
end
|
113
130
|
|
114
|
-
alias :deliver! :send_raw_email
|
115
|
-
alias :deliver :send_raw_email
|
116
|
-
|
117
|
-
private
|
118
|
-
|
119
131
|
# Adds all elements of the ary with the appropriate member elements
|
120
132
|
def add_array_to_hash!(hash, key, ary)
|
121
133
|
cnt = 1
|
@@ -125,23 +137,23 @@ module AWS
|
|
125
137
|
end
|
126
138
|
end
|
127
139
|
end
|
128
|
-
|
140
|
+
|
129
141
|
class EmailResponse < AWS::SES::Response
|
130
142
|
def result
|
131
143
|
super["#{action}Result"]
|
132
144
|
end
|
133
|
-
|
145
|
+
|
134
146
|
def message_id
|
135
147
|
result['MessageId']
|
136
148
|
end
|
137
149
|
end
|
138
|
-
|
150
|
+
|
139
151
|
class SendEmailResponse < EmailResponse
|
140
|
-
|
152
|
+
|
141
153
|
end
|
142
|
-
|
154
|
+
|
143
155
|
class SendRawEmailResponse < EmailResponse
|
144
|
-
|
156
|
+
|
145
157
|
end
|
146
158
|
end
|
147
159
|
end
|
data/test/send_email_test.rb
CHANGED
@@ -4,12 +4,12 @@ class SendEmailTest < Test::Unit::TestCase
|
|
4
4
|
context 'when sending email' do
|
5
5
|
setup do
|
6
6
|
@base = generate_base
|
7
|
-
@basic_email = { :from => 'jon@example.com',
|
7
|
+
@basic_email = { :from => 'jon@example.com',
|
8
8
|
:to => 'dave@example.com',
|
9
|
-
:subject => 'Subject1',
|
9
|
+
:subject => 'Subject1',
|
10
10
|
:text_body => 'Body1' }
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
context 'adding to a hash' do
|
14
14
|
should 'add array elements to the hash' do
|
15
15
|
hash = {}
|
@@ -18,7 +18,7 @@ class SendEmailTest < Test::Unit::TestCase
|
|
18
18
|
expected = {'SomeKey.member.1' => 'x', 'SomeKey.member.2' => 'y'}
|
19
19
|
assert_equal expected, hash
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
should 'add singular elements to the hash' do
|
23
23
|
hash = {}
|
24
24
|
ary = 'z'
|
@@ -27,7 +27,7 @@ class SendEmailTest < Test::Unit::TestCase
|
|
27
27
|
assert_equal expected, hash
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
should 'send an e-mail' do
|
32
32
|
mock_connection(@base, :body => %{
|
33
33
|
<SendEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
|
@@ -39,13 +39,13 @@ class SendEmailTest < Test::Unit::TestCase
|
|
39
39
|
</ResponseMetadata>
|
40
40
|
</SendEmailResponse>
|
41
41
|
})
|
42
|
-
|
42
|
+
|
43
43
|
result = @base.send_email @basic_email
|
44
44
|
assert result.success?
|
45
45
|
assert_equal 'abc-123', result.message_id
|
46
46
|
assert_equal 'xyz-123', result.request_id
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
should 'throw ArgumentException when attachment supplied without a body' do
|
50
50
|
#mock_connection(@base, :body => %{
|
51
51
|
# <SendRawEmailResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
|
@@ -75,11 +75,49 @@ class SendEmailTest < Test::Unit::TestCase
|
|
75
75
|
</ResponseMetadata>
|
76
76
|
</SendRawEmailResponse>
|
77
77
|
})
|
78
|
-
|
78
|
+
|
79
79
|
result = @base.send_raw_email(@basic_email)
|
80
80
|
assert result.success?
|
81
81
|
assert_equal 'abc-123', result.message_id
|
82
82
|
assert_equal 'xyz-123', result.request_id
|
83
83
|
end
|
84
|
+
|
85
|
+
context "with a standard email" do
|
86
|
+
setup do
|
87
|
+
@message = Mail.new({:from => 'jon@example.com', :to => 'dave@example.com', :cc => 'sally@example.com', :subject => 'Subject1', :body => "test body"})
|
88
|
+
end
|
89
|
+
|
90
|
+
should "add the 2 addresses to the Destinations" do
|
91
|
+
package = @base.send("build_raw_email", @message)
|
92
|
+
assert_equal 'dave@example.com', package['Destinations.member.1']
|
93
|
+
assert_equal 'sally@example.com', package['Destinations.member.2']
|
94
|
+
end
|
95
|
+
|
96
|
+
should "be able to override the e-mail destinations" do
|
97
|
+
dest_options = {:to => "another@example.com", :cc => "bob@example.com" }
|
98
|
+
package = @base.send("build_raw_email", @message, dest_options)
|
99
|
+
assert_equal 'another@example.com', package['Destinations.member.1']
|
100
|
+
assert_equal 'bob@example.com', package['Destinations.member.2']
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
should "add the bcc address to the email destinations" do
|
105
|
+
message = Mail.new({:from => 'jon@example.com', :bcc => "robin@example.com", :to => 'dave@example.com', :subject => 'Subject1', :body => "test body"})
|
106
|
+
package = @base.send("build_raw_email", message)
|
107
|
+
assert_equal 'dave@example.com', package['Destinations.member.1']
|
108
|
+
assert_equal 'robin@example.com', package['Destinations.member.2']
|
109
|
+
end
|
110
|
+
|
111
|
+
should "when only bcc address in the email" do
|
112
|
+
message = Mail.new({:from => 'jon@example.com', :bcc => ["robin@example.com", 'dave@example.com'], :subject => 'Subject1', :body => "test body"})
|
113
|
+
package = @base.send("build_raw_email", message)
|
114
|
+
assert_equal 'robin@example.com', package['Destinations.member.1']
|
115
|
+
assert_equal 'dave@example.com', package['Destinations.member.2']
|
116
|
+
end
|
117
|
+
|
118
|
+
should "add the mail addresses to the email destination" do
|
119
|
+
message = Mail.new({:from => 'jon@example.com', :to => ["robin@example.com", 'dave@example.com'], :subject => 'Subject1', :body => "test body"})
|
120
|
+
|
121
|
+
end
|
84
122
|
end
|
85
123
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-ses
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Drew Blas
|
@@ -10,150 +9,90 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-10-13 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: xml-simple
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- -
|
18
|
+
- - ">="
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: '0'
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - ">="
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '0'
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: builder
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- -
|
32
|
+
- - ">="
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '0'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- -
|
39
|
+
- - ">="
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: '0'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: mime-types
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- -
|
46
|
+
- - ">="
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '0'
|
55
49
|
type: :runtime
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
|
-
- -
|
53
|
+
- - ">="
|
61
54
|
- !ruby/object:Gem::Version
|
62
55
|
version: '0'
|
63
56
|
- !ruby/object:Gem::Dependency
|
64
57
|
name: mail
|
65
58
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
59
|
requirements:
|
68
|
-
- -
|
60
|
+
- - ">"
|
69
61
|
- !ruby/object:Gem::Version
|
70
62
|
version: 2.2.5
|
71
63
|
type: :runtime
|
72
64
|
prerelease: false
|
73
65
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
66
|
requirements:
|
76
|
-
- -
|
67
|
+
- - ">"
|
77
68
|
- !ruby/object:Gem::Version
|
78
69
|
version: 2.2.5
|
79
70
|
- !ruby/object:Gem::Dependency
|
80
71
|
name: shoulda-context
|
81
72
|
requirement: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
73
|
requirements:
|
84
|
-
- -
|
74
|
+
- - ">="
|
85
75
|
- !ruby/object:Gem::Version
|
86
76
|
version: '0'
|
87
77
|
type: :development
|
88
78
|
prerelease: false
|
89
79
|
version_requirements: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
80
|
requirements:
|
92
|
-
- -
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: '0'
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: bundler
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
|
-
requirements:
|
100
|
-
- - ~>
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 1.0.0
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
none: false
|
107
|
-
requirements:
|
108
|
-
- - ~>
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 1.0.0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: jeweler
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
|
-
requirements:
|
116
|
-
- - ~>
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 1.5.2
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
|
-
requirements:
|
124
|
-
- - ~>
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 1.5.2
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: rcov
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
130
|
-
none: false
|
131
|
-
requirements:
|
132
|
-
- - ! '>='
|
133
|
-
- !ruby/object:Gem::Version
|
134
|
-
version: '0'
|
135
|
-
type: :development
|
136
|
-
prerelease: false
|
137
|
-
version_requirements: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - ! '>='
|
81
|
+
- - ">="
|
141
82
|
- !ruby/object:Gem::Version
|
142
83
|
version: '0'
|
143
84
|
- !ruby/object:Gem::Dependency
|
144
85
|
name: flexmock
|
145
86
|
requirement: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
87
|
requirements:
|
148
|
-
- - ~>
|
88
|
+
- - "~>"
|
149
89
|
- !ruby/object:Gem::Version
|
150
90
|
version: 0.8.11
|
151
91
|
type: :development
|
152
92
|
prerelease: false
|
153
93
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
94
|
requirements:
|
156
|
-
- - ~>
|
95
|
+
- - "~>"
|
157
96
|
- !ruby/object:Gem::Version
|
158
97
|
version: 0.8.11
|
159
98
|
description: Client library for Amazon's Simple Email Service's REST API
|
@@ -166,7 +105,7 @@ extra_rdoc_files:
|
|
166
105
|
- README.rdoc
|
167
106
|
- TODO
|
168
107
|
files:
|
169
|
-
- .document
|
108
|
+
- ".document"
|
170
109
|
- CHANGELOG
|
171
110
|
- Gemfile
|
172
111
|
- Gemfile.lock
|
@@ -198,25 +137,24 @@ files:
|
|
198
137
|
homepage: http://github.com/drewblas/aws-ses
|
199
138
|
licenses:
|
200
139
|
- MIT
|
140
|
+
metadata: {}
|
201
141
|
post_install_message:
|
202
142
|
rdoc_options: []
|
203
143
|
require_paths:
|
204
144
|
- lib
|
205
145
|
required_ruby_version: !ruby/object:Gem::Requirement
|
206
|
-
none: false
|
207
146
|
requirements:
|
208
|
-
- -
|
147
|
+
- - ">="
|
209
148
|
- !ruby/object:Gem::Version
|
210
149
|
version: '0'
|
211
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
212
|
-
none: false
|
213
151
|
requirements:
|
214
|
-
- -
|
152
|
+
- - ">="
|
215
153
|
- !ruby/object:Gem::Version
|
216
154
|
version: '0'
|
217
155
|
requirements: []
|
218
156
|
rubyforge_project:
|
219
|
-
rubygems_version:
|
157
|
+
rubygems_version: 2.2.2
|
220
158
|
signing_key:
|
221
159
|
specification_version: 3
|
222
160
|
summary: Client library for Amazon's Simple Email Service's REST API
|