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.
@@ -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", "~> 1.0.0"
11
- gem "jeweler", "~> 1.5.2"
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'
@@ -1,39 +1,22 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.0.3)
5
- builder (3.0.0)
4
+ builder (3.2.2)
6
5
  flexmock (0.8.11)
7
- git (1.2.5)
8
- i18n (0.5.0)
9
- jeweler (1.5.2)
10
- bundler (~> 1.0.0)
11
- git (>= 1.2.5)
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 (~> 1.0.0)
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
@@ -20,7 +20,7 @@ This gem is compatible with Rails >= 3.0.0 and Rails 2.3.x
20
20
 
21
21
  To use, first add the gem to your Gemfile:
22
22
 
23
- gem "aws-ses", "~> 0.5.0", :require => 'aws/ses'
23
+ gem "aws-ses", "~> 0.6.0", :require => 'aws/ses'
24
24
 
25
25
  == For Rails 3.x
26
26
 
@@ -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.5.0", :require => 'aws/ses'
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
- test.libs << 'test'
38
- test.pattern = 'test/**/*_test.rb'
39
- test.verbose = true
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 'rake/rdoctask'
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.5.0
1
+ 0.6.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "aws-ses"
8
- s.version = "0.5.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 = "2013-04-30"
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
@@ -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::Digest.new('sha256')
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","")
@@ -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
- add_array_to_hash!(package, 'Destinations', args[:to]) if args[:to]
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
- result = request('SendRawEmail', package)
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
@@ -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.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: 2013-04-30 00:00:00.000000000 Z
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: 1.8.19
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