email_preview 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/controllers/email_preview_controller.rb +7 -1
- data/app/views/email_preview/show.html.erb +31 -20
- data/config/routes.rb +1 -0
- data/email_preview.gemspec +1 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
@@ -1,13 +1,19 @@
|
|
1
1
|
class EmailPreviewController < ApplicationController
|
2
2
|
unloadable
|
3
3
|
before_filter :enforce_allowed_environments
|
4
|
-
before_filter :build_email, :only => [:show, :deliver]
|
4
|
+
before_filter :build_email, :only => [:show, :deliver, :display]
|
5
|
+
layout nil
|
5
6
|
|
6
7
|
def deliver
|
7
8
|
@mail.to params[:to]
|
8
9
|
@mail.deliver
|
9
10
|
redirect_to email_preview_path(params[:id])
|
10
11
|
end
|
12
|
+
def display
|
13
|
+
@mail.to_s
|
14
|
+
part = @mail.multipart? ? @mail.parts.select {|p| p.content_type == params[:content_type]}.first : @mail
|
15
|
+
render :text => part.body
|
16
|
+
end
|
11
17
|
private
|
12
18
|
def enforce_allowed_environments
|
13
19
|
raise "'#{Rails.env}' is not in the supported list of environments from EmailPreview.allowed_environments: #{EmailPreview.allowed_environments.inspect}" unless EmailPreview.allowed_environments.include?(Rails.env)
|
@@ -1,19 +1,35 @@
|
|
1
|
-
<
|
2
|
-
|
1
|
+
<style>
|
2
|
+
.header {
|
3
|
+
color: #333;
|
4
|
+
font-weight: bold;
|
5
|
+
}
|
6
|
+
.deliver_form {
|
7
|
+
margin-bottom: 0;
|
8
|
+
}
|
9
|
+
.deliver_form input {
|
10
|
+
width: 250px;
|
11
|
+
}
|
12
|
+
.body_display {
|
13
|
+
width: 80%;
|
14
|
+
}
|
15
|
+
</style>
|
16
|
+
<div class='headers'>
|
17
|
+
<span class="header">To:</span>
|
18
|
+
<span class="header_value"><%= @mail.to %></span>
|
19
|
+
<% form_tag deliver_email_preview_path(params[:id]), :class => 'deliver_form' do %>
|
20
|
+
<%= text_field_tag :to, '', :placeholder => 'Send this email to me@yourcompany.com' %>
|
21
|
+
<button type="submit">Send</button>
|
22
|
+
<% end %>
|
3
23
|
</div>
|
4
|
-
<div>
|
5
|
-
From
|
24
|
+
<div class='headers'>
|
25
|
+
<span class="header">From:</span>
|
26
|
+
<span class="header_value"><%= @mail.from %></span>
|
6
27
|
</div>
|
7
|
-
<div>
|
8
|
-
Subject
|
28
|
+
<div class='headers'>
|
29
|
+
<span class="header">Subject:</span>
|
30
|
+
<span class="header_value"><%= @mail.subject %></span>
|
9
31
|
</div>
|
10
|
-
|
11
|
-
<% form_tag deliver_email_preview_path(params[:id]) do %>
|
12
|
-
<p>Send this email to your inbox:</p>
|
13
|
-
<%= text_field_tag :to %>
|
14
|
-
<button type="submit">Send</button>
|
15
|
-
<% end %>
|
16
|
-
|
32
|
+
<hr />
|
17
33
|
<!--
|
18
34
|
<h3>Debug output</h3>
|
19
35
|
<pre>
|
@@ -21,13 +37,8 @@
|
|
21
37
|
</pre>
|
22
38
|
-->
|
23
39
|
|
24
|
-
<h3>Body</h3>
|
25
40
|
<% parts = @mail.multipart? ? @mail.parts : [@mail] %>
|
26
41
|
<% parts.each do |part| %>
|
27
|
-
<
|
28
|
-
|
29
|
-
<pre><%= part.body %></pre>
|
30
|
-
<% elsif part.content_type.include?('text/html') %>
|
31
|
-
<%= part.body.to_s.html_safe %>
|
32
|
-
<% end %>
|
42
|
+
<h3><%= part.content_type %></h3>
|
43
|
+
<iframe class="body_display" src="<%= display_email_preview_path(params[:id], :content_type => part.content_type) %>"></iframe>
|
33
44
|
<% end %>
|
data/config/routes.rb
CHANGED
data/email_preview.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_preview
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Sonnek
|