iron_mailer 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -20,3 +20,4 @@ tmp
20
20
  .ruby-version
21
21
  .rvmrc
22
22
  spec/config/*
23
+ scratchpad/*
@@ -24,43 +24,24 @@ class IronMailer::SendEmail
24
24
  @delivery_method_settings={}
25
25
  end
26
26
 
27
- # Mail.defaults do
28
- # if options['delivery_method'].is_a?(Hash)
29
- # delivery_method_hash = options['delivery_method']
30
- # params = delivery_method_hash.values.first.clone
31
- # params.keys.each do |key|
32
- # params[(key.to_sym rescue key) || key] = params.delete(key)
33
- # end
34
- # delivery_method delivery_method_hash.keys.first.to_sym, params
35
- # else
36
- # delivery_method options['delivery_method'].to_sym
37
- # end
38
- # end
39
27
  end
40
28
 
41
29
  def split_email(source_email)
42
30
  tos = source_email.to
43
31
  tos.uniq.map{|destination|
44
- Mail.new do
45
- to destination
46
- from source_email.from
47
- subject source_email.subject
48
- if destination==tos.first
49
- message_id source_email.message_id
50
- bcc source_email.bcc
51
- cc source_email.cc
52
- end
53
- reply_to source_email.reply_to
54
- date source_email.date
55
- html_part do
56
- content_type 'text/html; charset=UTF-8'
57
- body source_email.html_part.body.to_s
58
- end if source_email.html_part
59
-
60
- text_part do
61
- body source_email.text_part.body.to_s
62
- end if source_email.text_part
63
- end
32
+ duplicate = source_email.clone
33
+ duplicate.to = destination
34
+
35
+ if destination==tos.first
36
+ duplicate.message_id=source_email.message_id
37
+ duplicate.bcc=source_email.bcc
38
+ duplicate.cc=source_email.cc
39
+ else
40
+ duplicate.message_id = nil
41
+ duplicate.bcc = nil
42
+ duplicate.cc = nil
43
+ end
44
+ duplicate
64
45
  }
65
46
  end
66
47
 
@@ -69,7 +50,7 @@ class IronMailer::SendEmail
69
50
  'date'=>mail.date,
70
51
  'from'=>mail.from,
71
52
  'to'=>mail.to,
72
- 'content'=>(mail.html_part || mail.text_part).body.to_s
53
+ 'body'=>mail.body.to_s
73
54
  }
74
55
  end
75
56
 
@@ -81,8 +62,8 @@ class IronMailer::SendEmail
81
62
  begin
82
63
  source_email = Mail.new(message.body)
83
64
  puts "Processing: #{source_email.subject}" if self.debug
65
+ puts self.delivery_method=>self.delivery_method_settings if self.debug
84
66
  mails = self.split_email(source_email)
85
-
86
67
  mails.each do |mail|
87
68
  mail.delivery_method self.delivery_method, self.delivery_method_settings
88
69
  mail.deliver
@@ -1,3 +1,3 @@
1
1
  module IronMailer
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -107,12 +107,16 @@ describe IronMailer::SendEmail do
107
107
  to to
108
108
  from "from@example.com"
109
109
  subject "This is a test email"
110
- text_part do
111
- body "This is a test"
112
- end
113
- html_part do
114
- content_type 'text/html; charset=UTF-8'
115
- body "<h1>This is a test</h1>"
110
+ if block_given?
111
+ body yield
112
+ else
113
+ text_part do
114
+ body "This is a test"
115
+ end
116
+ html_part do
117
+ content_type 'text/html; charset=UTF-8'
118
+ body "<h1>This is a test</h1>"
119
+ end
116
120
  end
117
121
  end
118
122
  end
@@ -260,5 +264,11 @@ describe IronMailer::SendEmail do
260
264
  @send_email.split_email(@test_email).first.cc.should == @test_email.cc
261
265
  end
262
266
 
267
+ it "should handle non-multipart emails" do
268
+ @test_email=test_email{
269
+ "This is not multipart"
270
+ }
271
+ @send_email.split_email(@test_email).first.body.to_s.should =~ /This is not multipart/
272
+ end
263
273
  end
264
274
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iron_mailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -141,7 +141,6 @@ files:
141
141
  - lib/iron_mailer/mq_mailer.rb
142
142
  - lib/iron_mailer/send_email.rb
143
143
  - lib/iron_mailer/version.rb
144
- - payload.json
145
144
  - spec/iron_mailer/mq_mailer_spec.rb
146
145
  - spec/iron_mailer/send_email_spec.rb
147
146
  homepage: ''
data/payload.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "debug": "true",
3
- "delivery_method": {
4
- "smtp": {
5
- "address": "smtp.sendgrid.net",
6
- "authentication": "plain",
7
- "domain": "teamdriveaway.com",
8
- "password": "trucking2006",
9
- "port": 587,
10
- "user_name": "teamdriveaway"
11
- }
12
- },
13
- "iron_cache": {
14
- "cache_name": "development_email_cache",
15
- "project_id": "50a79df0a6498073e700560c",
16
- "token": "6P0Hr8umXZruKzS3SbKF1vuu1E8"
17
- },
18
- "iron_mq": {
19
- "project_id": "511fb1f0d429792c50001158",
20
- "queue_name": "development_mail_queue",
21
- "token": "xv0iMDhbPB2xN5EaDH8CK4jAdQs"
22
- }
23
- }