mad_mimi_mailer 0.0.7 → 0.0.8

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.
Files changed (2) hide show
  1. data/lib/mad_mimi_mailer.rb +21 -9
  2. metadata +2 -2
@@ -1,9 +1,9 @@
1
- require "actionmailer"
1
+ require "action_mailer"
2
2
  require "net/http"
3
3
  require "net/https"
4
4
 
5
5
  class MadMimiMailer < ActionMailer::Base
6
- VERSION = '0.0.5'
6
+ VERSION = '0.0.8'
7
7
  SINGLE_SEND_URL = 'https://madmimi.com/mailer'
8
8
 
9
9
  @@api_settings = {}
@@ -78,14 +78,12 @@ class MadMimiMailer < ActionMailer::Base
78
78
 
79
79
  if mail.use_erb
80
80
  if mail.parts.any?
81
- mail = mail.parts.detect {|p| p.content_type == 'text/html' }
81
+ params['raw_plain_text'] = content_for(mail, "text/plain")
82
+ params['raw_html'] = content_for(mail, "text/html") { |html| validate(html.body) }
83
+ else
84
+ validate(mail.body)
85
+ params['raw_html'] = mail.body
82
86
  end
83
-
84
- unless mail.body.include?("[[peek_image]]")
85
- raise ValidationError, "You must include a web beacon in your Mimi email: [[peek_image]]"
86
- end
87
-
88
- params['raw_html'] = mail.body
89
87
  else
90
88
  params['body'] = mail.body.to_yaml
91
89
  end
@@ -102,6 +100,20 @@ class MadMimiMailer < ActionMailer::Base
102
100
  end
103
101
  end
104
102
 
103
+ def content_for(mail, content_type)
104
+ part = mail.parts.detect {|p| p.content_type == content_type }
105
+ if part
106
+ yield(part) if block_given?
107
+ part.body
108
+ end
109
+ end
110
+
111
+ def validate(content)
112
+ unless content.include?("[[peek_image]]") || content.include?("[[tracking_beacon]]")
113
+ raise ValidationError, "You must include a web beacon in your Mimi email: [[peek_image]]"
114
+ end
115
+ end
116
+
105
117
  def post_request
106
118
  url = URI.parse(SINGLE_SEND_URL)
107
119
  request = Net::HTTP::Post.new(url.path)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mad_mimi_mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Hoover
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-20 00:00:00 -05:00
12
+ date: 2010-01-04 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies: []
15
15