simple_postmark 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - ruby-head
7
+
8
+ gemfile:
9
+ - Gemfile
10
+ - gemfiles/Rails_3_0.gemfile
11
+ - gemfiles/Rails_3_1.gemfile
12
+ - gemfiles/Rails_3_2.gemfile
13
+ - gemfiles/Rails_master.gemfile
14
+
15
+ branches:
16
+ only:
17
+ - master
18
+
19
+ matrix:
20
+ exclude:
21
+ - rvm: 1.9.2
22
+ gemfile: gemfiles/Rails_master.gemfile
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source :rubygems
2
+
3
+ gemspec
@@ -0,0 +1,90 @@
1
+ # simple_postmark
2
+
3
+ SimplePostmark makes it easy to send mails via [Postmark](http://postmarkapp.com)™ using Rails 3's ActionMailer.
4
+ SimplePostmark is inspired by [postmark-gem](https://github.com/wildbit/postmark-gem), but unfortunately postmark-gem forced to me to use non-standard Rails calls like `postmark_attachments`. SimplePostmark uses the standard Rails 3's ActionMailer syntax to send your emails via Postmark.
5
+
6
+ [![Build Status](https://secure.travis-ci.org/haihappen/simple_postmark.png)](http://travis-ci.org/haihappen/simple_postmark)
7
+
8
+ Tested against Ruby versions `1.9.2`, `1.9.3`, `ruby-head` and Rails versions `3.0.x`, `3.1.x`, `3.2.x`, `master` (upcoming Rails `4.0.0`).
9
+
10
+ If you are still using Ruby `1.8.7` or `Ruby Enterprise Edition` with Rails 3, you can use the backported version of this gem called [simple_postmark18](https://github.com/haihappen/simple_postmark/tree/ruby18).
11
+
12
+ ## Installation
13
+
14
+ In your `Gemfile`:
15
+
16
+ ```ruby
17
+ group :production do
18
+ gem 'simple_postmark'
19
+ end
20
+ ```
21
+
22
+ In your `config/environments/production.rb`:
23
+
24
+ ```ruby
25
+ config.action_mailer.delivery_method = :simple_postmark
26
+ config.action_mailer.simple_postmark_settings = { api_key: '********-****-****-****-************' }
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ Just use your standard Rails 3 Mailer:
32
+
33
+ ```ruby
34
+ class NotificationMailer < ActionMailer::Base
35
+ def notification
36
+ mail(to: 'ted@himym.tld', from: 'barney@himym.tld', subject: "I'm your bro!") do
37
+ # ...
38
+ end
39
+ end
40
+ end
41
+ ```
42
+
43
+ And of course you can use standard attachment calls and [Postmark's tags](http://developer.postmarkapp.com/developer-build.html#message-format):
44
+
45
+ ```ruby
46
+ class NotificationMailer < ActionMailer::Base
47
+ def notification
48
+ attachments['thebrocode.pdf'] = File.read('thebrocode.pdf')
49
+
50
+ mail(to: 'ted@himym.tld', from: 'barney@himym.tld', subject: "I'm your bro!", tag: 'with-attachment') do
51
+ # ...
52
+ end
53
+ end
54
+ end
55
+ ```
56
+
57
+ ## Contributing to simple_postmark
58
+
59
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
60
+ * Check out the [issue tracker](https://github.com/haihappen/simple_postmark/issues) to make sure someone already hasn't requested it and/or contributed it
61
+ * Fork the project
62
+ * Start a feature/bugfix branch
63
+ * Commit and push until you are happy with your contribution
64
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
65
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
66
+
67
+ ## Copyright
68
+
69
+ (The MIT license)
70
+
71
+ Copyright (c) 2011-2012 Mario Uher
72
+
73
+ Permission is hereby granted, free of charge, to any person obtaining
74
+ a copy of this software and associated documentation files (the
75
+ "Software"), to deal in the Software without restriction, including
76
+ without limitation the rights to use, copy, modify, merge, publish,
77
+ distribute, sublicense, and/or sell copies of the Software, and to
78
+ permit persons to whom the Software is furnished to do so, subject to
79
+ the following conditions:
80
+
81
+ The above copyright notice and this permission notice shall be
82
+ included in all copies or substantial portions of the Software.
83
+
84
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
85
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
87
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
88
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
89
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
90
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,8 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.test_files = Dir.glob('spec/**/*_spec.rb')
6
+ end
7
+
8
+ task(default: :test)
@@ -0,0 +1,5 @@
1
+ source :rubygems
2
+
3
+ gemspec path: '../'
4
+
5
+ gem 'rails', '~> 3.0.0'
@@ -0,0 +1,5 @@
1
+ source :rubygems
2
+
3
+ gemspec path: '../'
4
+
5
+ gem 'rails', '~> 3.1.0'
@@ -0,0 +1,5 @@
1
+ source :rubygems
2
+
3
+ gemspec path: '../'
4
+
5
+ gem 'rails', '~> 3.2.0'
@@ -0,0 +1,13 @@
1
+ source :rubygems
2
+
3
+ gem 'activesupport', git: 'git://github.com/rails/rails.git'
4
+ gem 'httparty'
5
+ gem 'json'
6
+ gem 'mail'
7
+
8
+ group :development do
9
+ gem 'minitest'
10
+ gem 'purdytest'
11
+ gem 'rails', git: 'git://github.com/rails/rails.git'
12
+ gem 'webmock'
13
+ end
@@ -4,7 +4,7 @@ require 'httparty'
4
4
  require 'json'
5
5
  require 'mail'
6
6
 
7
- module SimplePostmark
7
+ module SimplePostmark
8
8
  require 'simple_postmark/mail_ext/message'
9
9
  require 'simple_postmark/mail_ext/part'
10
10
 
@@ -0,0 +1,22 @@
1
+ Gem::Specification.new do |gem|
2
+ gem.name = 'simple_postmark'
3
+ gem.version = '0.4.1'
4
+ gem.authors = 'Mario Uher'
5
+ gem.email = 'uher.mario@gmail.com'
6
+ gem.description = 'SimplePostmark makes it easy to send mails via Postmark™ using Rails 3\'s ActionMailer.'
7
+ gem.summary = 'A simple way to use Postmark™ with your Rails app.'
8
+ gem.homepage = 'http://haihappen.github.com/simple_postmark'
9
+
10
+ gem.files = `git ls-files`.split("\n")
11
+ gem.require_path = 'lib'
12
+
13
+ gem.add_dependency 'activesupport', '~> 3.0'
14
+ gem.add_dependency 'httparty'
15
+ gem.add_dependency 'json'
16
+ gem.add_dependency 'mail'
17
+
18
+ gem.add_development_dependency 'minitest'
19
+ gem.add_development_dependency 'purdytest'
20
+ gem.add_development_dependency 'rails', '~> 3.0'
21
+ gem.add_development_dependency 'webmock'
22
+ end
@@ -0,0 +1,46 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+
3
+ describe Mail do
4
+ describe SimplePostmark do
5
+ let(:instance) { Mail::SimplePostmark.new({}) }
6
+
7
+
8
+ it 'should respond to deliver!' do
9
+ instance.must_respond_to(:deliver!)
10
+ end
11
+
12
+
13
+ describe :deliver! do
14
+ let(:mail) do
15
+ Mail.new do
16
+ from 'barney@himym.tld'
17
+ to 'ted@himym.tld'
18
+ subject "I'm your bro!"
19
+ body "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!"
20
+ tag 'simple-postmark'
21
+ add_file(File.join(File.dirname(__FILE__), 'thebrocode.jpg'))
22
+ end
23
+ end
24
+ let(:url) { 'http://api.postmarkapp.com/email' }
25
+
26
+ before do
27
+ mail.delivery_method(Mail::SimplePostmark)
28
+ stub_request(:post, url)
29
+ end
30
+
31
+
32
+ it 'should send emails' do
33
+ mail.deliver
34
+
35
+ assert_requested(:post, url)
36
+ end
37
+
38
+
39
+ it 'should post appropriate data' do
40
+ mail.deliver
41
+
42
+ assert_requested(:post, url, headers: { 'Accept' => 'application/json', 'ContentType' => 'application/json', 'X-Postmark-Server-Token' => '********-****-****-****-************' })
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,71 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe Mail::Message do
4
+ it 'should respond to +to_postmark+' do
5
+ Mail::Message.new.must_respond_to(:to_postmark)
6
+ end
7
+
8
+
9
+ it 'should respond to +to_postmark+' do
10
+ Mail.new.must_respond_to(:to_postmark)
11
+ end
12
+
13
+
14
+ describe :to_postmark do
15
+ let(:mail) do
16
+ Mail.new do
17
+ from 'barney@himym.tld'
18
+ to 'ted@himym.tld'
19
+ subject "I'm your bro!"
20
+ body "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!"
21
+ tag 'simple-postmark'
22
+ end
23
+ end
24
+
25
+
26
+ it 'should return a hash' do
27
+ hash = {
28
+ 'From' => 'barney@himym.tld',
29
+ 'To' => 'ted@himym.tld',
30
+ 'Subject' => "I'm your bro!",
31
+ 'TextBody' => "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!",
32
+ 'Tag' => 'simple-postmark',
33
+ 'Attachments' => [{
34
+ 'Name' => 'thebrocode.jpg',
35
+ 'Content' => [File.read(File.join(File.dirname(__FILE__), '..', 'thebrocode.jpg'))].pack('m'),
36
+ 'ContentType' => 'image/jpeg'
37
+ }]
38
+ }
39
+ mail.add_file(File.join(File.dirname(__FILE__), '..', 'thebrocode.jpg'))
40
+
41
+ mail.to_postmark.must_equal(hash)
42
+ end
43
+
44
+
45
+ it 'should return multiple recipients as comma-separated list' do
46
+ mail.to = ['barney@himym.tld', 'marshall@himym.tld']
47
+
48
+ mail.to_postmark['To'].must_equal('barney@himym.tld, marshall@himym.tld')
49
+ end
50
+
51
+
52
+ it 'should return all email headers as hash' do
53
+ mail.bcc = 'lily@himym.tld'
54
+ mail.cc = 'marshall@himym.tld'
55
+ mail.reply_to = 'barney@barneystinsonblog.com'
56
+
57
+ hash = {
58
+ 'Bcc' => 'lily@himym.tld',
59
+ 'Cc' => 'marshall@himym.tld',
60
+ 'From' => 'barney@himym.tld',
61
+ 'ReplyTo' => 'barney@barneystinsonblog.com',
62
+ 'Subject' => "I'm your bro!",
63
+ 'Tag' => 'simple-postmark',
64
+ 'TextBody' => "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!",
65
+ 'To' => 'ted@himym.tld'
66
+ }
67
+
68
+ mail.to_postmark.must_equal(hash)
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,46 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe Mail::Part do
4
+ it 'should respond to +to_postmark+' do
5
+ Mail::Part.new.must_respond_to(:to_postmark)
6
+ end
7
+
8
+
9
+ describe :to_postmark do
10
+ it 'should return body hash if part is not an attachment' do
11
+ part = Mail::Part.new do
12
+ body "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!"
13
+ content_type 'text/plain'
14
+ end
15
+
16
+ content = "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!"
17
+
18
+ part.to_postmark.must_equal('Name' => nil, 'Content' => content, 'ContentType' => 'text/plain')
19
+ end
20
+
21
+
22
+ it 'should return body hash if part is not an attachment' do
23
+ part = Mail::Part.new do
24
+ body "<p>Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome.<br /><br />I'm your bro-I'm Broda!</p>"
25
+ content_type 'text/html'
26
+ end
27
+
28
+ content = "<p>Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome.<br /><br />I'm your bro-I'm Broda!</p>"
29
+
30
+ part.to_postmark.must_equal('Name' => nil, 'Content' => content, 'ContentType' => 'text/html')
31
+ end
32
+
33
+
34
+ it 'should return base64-encoded file-content hash if part is an attachment' do
35
+ file = File.join(File.dirname(__FILE__), '..', 'thebrocode.jpg')
36
+
37
+ part = Mail::Part.new.tap do |mail|
38
+ mail.add_file(file)
39
+ end.attachments.first
40
+
41
+ content = [File.read(file)].pack('m')
42
+
43
+ part.to_postmark.must_equal('Name' => 'thebrocode.jpg', 'Content' => content, 'ContentType' => 'image/jpeg')
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,117 @@
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+ require 'action_mailer'
3
+ require 'rails'
4
+ require 'simple_postmark/railtie'
5
+
6
+ ActionMailer::Base.delivery_method = :simple_postmark
7
+
8
+ class NotificationMailer < ActionMailer::Base
9
+ default from: 'barney@himym.tld', to: 'ted@himym.tld'
10
+
11
+ def im_your_bro
12
+ mail(subject: "I'm your bro!")
13
+ end
14
+
15
+ def im_your_bro_tagged
16
+ mail(subject: "I'm your bro!", tag: 'simple-postmark')
17
+ end
18
+
19
+ def im_your_bro_multipart
20
+ mail(subject: "I'm your bro!") do |as|
21
+ as.html { render(text: "<p>Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome.<br /><br />I'm your bro-I'm Broda!</p>" )}
22
+ as.text { render(text: "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!" )}
23
+ end
24
+ end
25
+
26
+ def the_bro_code
27
+ attachments['thebrocode.jpg'] = File.read(File.join(File.dirname(__FILE__), 'thebrocode.jpg'))
28
+ mail(subject: 'The Brocode!')
29
+ end
30
+ end
31
+
32
+ def merge_body(hash = {})
33
+ Hash[*body.merge(hash).sort.flatten(1)].to_json
34
+ end
35
+
36
+ describe ActionMailer::Base do
37
+ let(:url) { 'http://api.postmarkapp.com/email' }
38
+ let(:api_key) { '********-****-****-****-************' }
39
+
40
+ let(:headers) do
41
+ {
42
+ 'Accept' => 'application/json',
43
+ 'ContentType' => 'application/json',
44
+ 'X-Postmark-Server-Token' => api_key
45
+ }
46
+ end
47
+
48
+ let(:body) do
49
+ {
50
+ 'From' => 'barney@himym.tld',
51
+ 'Subject' => "I'm your bro!",
52
+ 'To' => 'ted@himym.tld'
53
+ }
54
+ end
55
+
56
+ before do
57
+ stub_request(:post, url)
58
+ end
59
+
60
+
61
+ it 'should respond to +simple_postmark_settings+' do
62
+ ActionMailer::Base.must_respond_to(:simple_postmark_settings)
63
+ end
64
+
65
+
66
+ it 'should allow setting an api key' do
67
+ ActionMailer::Base.simple_postmark_settings = { api_key: api_key }
68
+
69
+ ActionMailer::Base.simple_postmark_settings[:api_key].must_equal(api_key)
70
+ end
71
+
72
+
73
+ describe 'sending mails' do
74
+ before do
75
+ ActionMailer::Base.simple_postmark_settings = { api_key: api_key }
76
+ end
77
+
78
+
79
+ it 'should work' do
80
+ NotificationMailer.im_your_bro.deliver
81
+
82
+ assert_requested(:post, url, headers: headers, body: merge_body)
83
+ end
84
+
85
+
86
+ it 'should allow tags' do
87
+ NotificationMailer.im_your_bro_tagged.deliver
88
+
89
+ assert_requested(:post, url, headers: headers, body: merge_body('Tag' => 'simple-postmark'))
90
+ end
91
+
92
+
93
+ it 'should work with attachments' do
94
+ attachment = {
95
+ 'Content' => [File.read(File.join(File.dirname(__FILE__), 'thebrocode.jpg'))].pack('m'),
96
+ 'ContentType' => 'image/jpeg',
97
+ 'Name' => 'thebrocode.jpg'
98
+ }
99
+
100
+ NotificationMailer.the_bro_code.deliver
101
+
102
+ assert_requested(:post, url, headers: headers, body: merge_body('Subject' => 'The Brocode!', 'Attachments' => [attachment]))
103
+ end
104
+
105
+
106
+ it 'should work with multipart messages' do
107
+ bodies = {
108
+ 'HtmlBody' => "<p>Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome.<br /><br />I'm your bro-I'm Broda!</p>",
109
+ 'TextBody' => "Think of me like Yoda, but instead of being little and green I wear suits and I'm awesome. I'm your bro-I'm Broda!"
110
+ }
111
+
112
+ NotificationMailer.im_your_bro_multipart.deliver
113
+
114
+ assert_requested(:post, url, headers: headers, body: merge_body(bodies))
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,7 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+
3
+ require 'minitest/autorun'
4
+ require 'minitest/spec'
5
+ require 'purdytest'
6
+ require 'simple_postmark'
7
+ require 'webmock/minitest'
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_postmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
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-02-12 00:00:00.000000000 Z
12
+ date: 2012-04-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70098743710300 !ruby/object:Gem::Requirement
16
+ requirement: &70349875971380 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70098743710300
24
+ version_requirements: *70349875971380
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: httparty
27
- requirement: &70098743709500 !ruby/object:Gem::Requirement
27
+ requirement: &70349875970980 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70098743709500
35
+ version_requirements: *70349875970980
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &70098743708740 !ruby/object:Gem::Requirement
38
+ requirement: &70349875970520 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70098743708740
46
+ version_requirements: *70349875970520
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mail
49
- requirement: &70098743707660 !ruby/object:Gem::Requirement
49
+ requirement: &70349875970100 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70098743707660
57
+ version_requirements: *70349875970100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: minitest
60
- requirement: &70098743707040 !ruby/object:Gem::Requirement
60
+ requirement: &70349876018780 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70098743707040
68
+ version_requirements: *70349876018780
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: purdytest
71
- requirement: &70098743706420 !ruby/object:Gem::Requirement
71
+ requirement: &70349876018360 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70098743706420
79
+ version_requirements: *70349876018360
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rails
82
- requirement: &70098743705780 !ruby/object:Gem::Requirement
82
+ requirement: &70349876017860 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '3.0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70098743705780
90
+ version_requirements: *70349876017860
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: webmock
93
- requirement: &70098743721720 !ruby/object:Gem::Requirement
93
+ requirement: &70349876017440 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,7 +98,7 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70098743721720
101
+ version_requirements: *70349876017440
102
102
  description: SimplePostmark makes it easy to send mails via Postmark™ using Rails
103
103
  3's ActionMailer.
104
104
  email: uher.mario@gmail.com
@@ -106,13 +106,27 @@ executables: []
106
106
  extensions: []
107
107
  extra_rdoc_files: []
108
108
  files:
109
+ - .travis.yml
110
+ - Gemfile
111
+ - README.md
112
+ - Rakefile
113
+ - gemfiles/Rails_3_0.gemfile
114
+ - gemfiles/Rails_3_1.gemfile
115
+ - gemfiles/Rails_3_2.gemfile
116
+ - gemfiles/Rails_master.gemfile
117
+ - lib/simple_postmark.rb
109
118
  - lib/simple_postmark/delivery_method.rb
110
119
  - lib/simple_postmark/mail_ext/message.rb
111
120
  - lib/simple_postmark/mail_ext/part.rb
112
121
  - lib/simple_postmark/railtie.rb
113
- - lib/simple_postmark/version.rb
114
- - lib/simple_postmark.rb
115
- homepage: https://www.github.com/haihappen/simple_postmark
122
+ - simple_postmark.gemspec
123
+ - spec/delivery_method_spec.rb
124
+ - spec/mail_ext/message_spec.rb
125
+ - spec/mail_ext/part_spec.rb
126
+ - spec/railtie_spec.rb
127
+ - spec/spec_helper.rb
128
+ - spec/thebrocode.jpg
129
+ homepage: http://haihappen.github.com/simple_postmark
116
130
  licenses: []
117
131
  post_install_message:
118
132
  rdoc_options: []
@@ -137,4 +151,3 @@ signing_key:
137
151
  specification_version: 3
138
152
  summary: A simple way to use Postmark™ with your Rails app.
139
153
  test_files: []
140
- has_rdoc:
@@ -1,3 +0,0 @@
1
- module SimplePostmark
2
- VERSION = '0.4.0'
3
- end