email_preview 0.2.1 → 0.2.2
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/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
|