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 CHANGED
@@ -1 +1 @@
1
- 0.2.1
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
- <div>
2
- To: <%= @mail.to %>
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: <%= @mail.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: <%= @mail.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
- <h4><%= part.content_type %></h4>
28
- <% if part.content_type.include?('text/plain') %>
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
@@ -5,6 +5,7 @@ Rails.application.routes.draw do |map|
5
5
  end
6
6
  member do
7
7
  post :deliver
8
+ get :display
8
9
  end
9
10
  end
10
11
  end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{email_preview}
8
- s.version = "0.2.1"
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ryan Sonnek"]
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: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ryan Sonnek