postmark 0.1.0 → 0.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/.rake_tasks ADDED
@@ -0,0 +1,22 @@
1
+ build
2
+ check_dependencies
3
+ check_dependencies:development
4
+ check_dependencies:runtime
5
+ clobber_rcov
6
+ clobber_rdoc
7
+ features
8
+ gemcutter:release
9
+ gemspec
10
+ gemspec:generate
11
+ gemspec:validate
12
+ install
13
+ rcov
14
+ rdoc
15
+ release
16
+ rerdoc
17
+ spec
18
+ version
19
+ version:bump:major
20
+ version:bump:minor
21
+ version:bump:patch
22
+ version:write
data/README.rdoc CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  Ruby gem for sending emails through http://postmarkapp.com HTTP API
4
4
 
5
+ == Install
6
+
7
+ The gem is hosted at gemcutter. If you don't have it, install it first:
8
+
9
+ sudo gem install gemcutter
10
+ gem tumble
11
+
12
+ Then
13
+ sudo gem install postmark
14
+
5
15
  == Example
6
16
 
7
17
  #!/usr/bin/env ruby
@@ -23,16 +33,20 @@ Ruby gem for sending emails through http://postmarkapp.com HTTP API
23
33
 
24
34
  == Requirements
25
35
 
26
- The gem relies on TMail for building the message. You will also need postmark account, server and sender signature set up to use it.
27
- If you plan using it in a rails project, check out the postmark-rails gem, which is meant to integrate with ActionMailer.
36
+ The gem relies on TMail for building the message. You will also need postmark account, server and sender signature set up to use it.
37
+ If you plan using it in a rails project, check out the postmark-rails gem, which is meant to integrate with ActionMailer.
38
+
39
+ == Limitations
40
+ Currently postmark API does not support multiple recipients, or attachments. For more information, check the docs here:
41
+ TODO: URL to docs.
28
42
 
29
43
  == Note on Patches/Pull Requests
30
-
44
+
31
45
  * Fork the project.
32
46
  * Make your feature addition or bug fix.
33
47
  * Add tests for it. This is important so I don't break it in a
34
48
  future version unintentionally.
35
- * Commit, do not mess with rakefile, version, or history.
49
+ * Commit, do not mess with rakefile, version, or history.
36
50
  * Send me a pull request. Bonus points for topic branches.
37
51
 
38
52
  == Copyright
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ begin
8
8
  gem.summary = %Q{Ruby gem for sending emails through http://postmarkapp.com HTTP API}
9
9
  gem.description = %Q{Ruby gem for sending emails through http://postmarkapp.com HTTP API. It relieas on TMail::Mail for message construction.}
10
10
  gem.email = "underlog@gmail.com"
11
- gem.homepage = "http://github.com/underlog/postmark"
11
+ gem.homepage = "http://postmarkapp.com"
12
12
  gem.authors = ["Petyo Ivanov"]
13
13
  gem.add_development_dependency "rspec"
14
14
  gem.add_development_dependency "cucumber"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/postmark.rb CHANGED
@@ -29,7 +29,7 @@ module Postmark
29
29
 
30
30
  # The host to connect to.
31
31
  def host
32
- @host ||= 'postmarkapp.com'
32
+ @host ||= 'api.postmarkapp.com'
33
33
  end
34
34
 
35
35
  # The path of the listener
@@ -93,10 +93,16 @@ module Postmark
93
93
 
94
94
  def convert_tmail(message)
95
95
  { "From" => message['from'].to_s, "To" => message['to'].to_s, "Subject" => message.subject }.tap do |hash|
96
- if html = message.body_html
96
+ # not always true, but should work I guess
97
+ html = message.body_html
98
+ text = message.body_text
99
+ if message.multipart?
97
100
  hash["HtmlBody"] = html
101
+ hash["TextBody"] = text
102
+ elsif html
103
+ hash["HtmlBody"] = message.body_html
98
104
  else
99
- hash["TextBody"] = message.body
105
+ hash["TextBody"] = text
100
106
  end
101
107
  end
102
108
  end
@@ -35,6 +35,28 @@ module TMail
35
35
  end
36
36
  result
37
37
  end
38
+
39
+ #
40
+ # returs an String with just the plain text part of the body
41
+ # or nil if there is not any plain text part
42
+ #
43
+ def body_text
44
+ result = unquoted_body
45
+ if multipart?
46
+ parts.each do |part|
47
+ if part.multipart?
48
+ part.parts.each do |part2|
49
+ result = part2.unquoted_body if part2.content_type =~ /plain/i
50
+ end
51
+ elsif !attachment?(part)
52
+ result = part.unquoted_body if part.content_type =~ /plain/i
53
+ end
54
+ end
55
+ else
56
+ result = unquoted_body if content_type =~ /plain/i
57
+ end
58
+ result
59
+ end
38
60
 
39
61
  #
40
62
  # This is only for develop.
@@ -84,4 +106,4 @@ module TMail
84
106
  end
85
107
 
86
108
  end
87
- end
109
+ end
data/postmark.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{postmark}
8
- s.version = "0.1.0"
8
+ s.version = "0.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 = ["Petyo Ivanov"]
12
- s.date = %q{2009-11-04}
12
+ s.date = %q{2009-11-16}
13
13
  s.description = %q{Ruby gem for sending emails through http://postmarkapp.com HTTP API. It relieas on TMail::Mail for message construction.}
14
14
  s.email = %q{underlog@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.files = [
20
20
  ".document",
21
21
  ".gitignore",
22
+ ".rake_tasks",
22
23
  "LICENSE",
23
24
  "README.rdoc",
24
25
  "Rakefile",
@@ -34,7 +35,7 @@ Gem::Specification.new do |s|
34
35
  "spec/spec.opts",
35
36
  "spec/spec_helper.rb"
36
37
  ]
37
- s.homepage = %q{http://github.com/underlog/postmark}
38
+ s.homepage = %q{http://postmarkapp.com}
38
39
  s.rdoc_options = ["--charset=UTF-8"]
39
40
  s.require_paths = ["lib"]
40
41
  s.rubygems_version = %q{1.3.4}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postmark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petyo Ivanov
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-04 00:00:00 +02:00
12
+ date: 2009-11-16 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -54,6 +54,7 @@ extra_rdoc_files:
54
54
  files:
55
55
  - .document
56
56
  - .gitignore
57
+ - .rake_tasks
57
58
  - LICENSE
58
59
  - README.rdoc
59
60
  - Rakefile
@@ -68,7 +69,7 @@ files:
68
69
  - spec/spec.opts
69
70
  - spec/spec_helper.rb
70
71
  has_rdoc: true
71
- homepage: http://github.com/underlog/postmark
72
+ homepage: http://postmarkapp.com
72
73
  licenses: []
73
74
 
74
75
  post_install_message: