email_preview 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CONTRIBUTORS.txt +4 -0
- data/LICENSE +1 -1
- data/README.md +71 -0
- data/app/controllers/email_preview_controller.rb +2 -2
- data/app/views/email_preview/details.html.erb +7 -3
- data/lib/email_preview/version.rb +1 -1
- metadata +5 -4
- data/README.rdoc +0 -65
data/CONTRIBUTORS.txt
ADDED
data/LICENSE
CHANGED
data/README.md
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
# email_preview
|
2
|
+
|
3
|
+
preview emails within your web browser
|
4
|
+
|
5
|
+
## Features
|
6
|
+
* preview HTML emails from within your web browser
|
7
|
+
* emails are reloaded with each view so you can tweak/save/refresh for instant verification
|
8
|
+
* convenient form to send any email preview directly to your *real* inbox
|
9
|
+
* only exposes routes in development mode to prevent leaking into production mode
|
10
|
+
|
11
|
+
## Installation
|
12
|
+
|
13
|
+
gem 'email_preview'
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
# config/initializers/email_preview.rb
|
20
|
+
EmailPreview.register 'simple example email' do
|
21
|
+
Mail.new do
|
22
|
+
to 'tom@example.com'
|
23
|
+
from 'me@foo.com'
|
24
|
+
body 'check this out'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
EmailPreview.register 'multipart email (html + text)' do
|
29
|
+
Mail.new do
|
30
|
+
from 'mikel@test.lindsaar.net'
|
31
|
+
to 'you@test.lindsaar.net'
|
32
|
+
subject 'This is a test email'
|
33
|
+
|
34
|
+
text_part do
|
35
|
+
body 'This is plain text'
|
36
|
+
end
|
37
|
+
html_part do
|
38
|
+
content_type 'text/html; charset=UTF-8'
|
39
|
+
body '<h1>This is HTML</h1>'
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
EmailPreview.register 'Rails ActionMailer User activation email' do
|
45
|
+
u = User.new :email => 'foo@example.com'
|
46
|
+
UserMailer.activation(u)
|
47
|
+
end
|
48
|
+
```
|
49
|
+
|
50
|
+
browse the list of registered emails and preview them in your browser at:
|
51
|
+
http://localhost:3000/email_preview
|
52
|
+
|
53
|
+
by default the email_preview feature is only available in development mode. to turn on globally use:
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
# config/initializers/email_preview.rb
|
57
|
+
EmailPreview.allowed_environments << 'production'
|
58
|
+
```
|
59
|
+
|
60
|
+
## Contributing
|
61
|
+
|
62
|
+
* Fork the project
|
63
|
+
* Fix the issue
|
64
|
+
* Add unit tests
|
65
|
+
* Submit pull request on github
|
66
|
+
|
67
|
+
See CONTRIBUTORS.txt for list of project contributors
|
68
|
+
|
69
|
+
## Copyright
|
70
|
+
|
71
|
+
Copyright (c) 2010 Ryan Sonnek. See LICENSE for details.
|
@@ -11,9 +11,9 @@ class EmailPreviewController < ApplicationController
|
|
11
11
|
end
|
12
12
|
def preview
|
13
13
|
@part = if request.format == 'html'
|
14
|
-
@parts.detect {|p| p.content_type.include?('text/html') }
|
14
|
+
@parts.detect {|p| p.content_type && p.content_type.include?('text/html') }
|
15
15
|
else
|
16
|
-
@parts.detect {|p| p.content_type.include?('text/plain') }
|
16
|
+
@parts.detect {|p| p.content_type && p.content_type.include?('text/plain') }
|
17
17
|
end
|
18
18
|
@part ||= @parts.first
|
19
19
|
render :text => @part.body.to_s
|
@@ -26,7 +26,7 @@
|
|
26
26
|
}
|
27
27
|
.deliver_form input {
|
28
28
|
width: 250px;
|
29
|
-
|
29
|
+
}
|
30
30
|
</style>
|
31
31
|
<%= form_tag deliver_email_preview_path(params[:id]), :class => 'deliver_form' do %>
|
32
32
|
<%= text_field_tag :to, '', :placeholder => 'Send this email to me@yourcompany.com' %>
|
@@ -43,7 +43,11 @@
|
|
43
43
|
</div>
|
44
44
|
|
45
45
|
<h2>Content</h2>
|
46
|
+
<ul>
|
46
47
|
<% @parts.each do |part| %>
|
47
|
-
<% render_format = part.content_type.include?('text/html') ? 'html' : 'txt' %>
|
48
|
-
|
48
|
+
<% render_format = (part.content_type && part.content_type.include?('text/html')) ? 'html' : 'txt' %>
|
49
|
+
<li>
|
50
|
+
<%= link_to "View #{render_format} output", preview_email_preview_path(params[:id], :format => render_format), :target => 'preview' %>
|
51
|
+
</li>
|
49
52
|
<% end %>
|
53
|
+
</ul>
|
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: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ryan Sonnek
|
@@ -59,9 +59,10 @@ extra_rdoc_files: []
|
|
59
59
|
files:
|
60
60
|
- .document
|
61
61
|
- .gitignore
|
62
|
+
- CONTRIBUTORS.txt
|
62
63
|
- Gemfile
|
63
64
|
- LICENSE
|
64
|
-
- README.
|
65
|
+
- README.md
|
65
66
|
- Rakefile
|
66
67
|
- app/controllers/email_preview_controller.rb
|
67
68
|
- app/views/email_preview/details.html.erb
|
data/README.rdoc
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
= email_preview
|
2
|
-
|
3
|
-
preview emails within your web browser
|
4
|
-
|
5
|
-
= Features
|
6
|
-
* preview HTML emails from within your web browser
|
7
|
-
* emails are reloaded with each view so you can tweak/save/refresh for instant verification
|
8
|
-
* convenient form to send any email preview directly to your *real* inbox
|
9
|
-
* only exposes routes in development mode to prevent leaking into production mode
|
10
|
-
|
11
|
-
= Installation
|
12
|
-
|
13
|
-
gem 'email_preview'
|
14
|
-
|
15
|
-
= Usage
|
16
|
-
|
17
|
-
config/initializers/email_preview.rb
|
18
|
-
EmailPreview.register 'simple example email' do
|
19
|
-
Mail.new do
|
20
|
-
to 'tom@example.com'
|
21
|
-
from 'me@foo.com'
|
22
|
-
body 'check this out'
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
EmailPreview.register 'multipart email (html + text)' do
|
27
|
-
Mail.new do
|
28
|
-
from 'mikel@test.lindsaar.net'
|
29
|
-
to 'you@test.lindsaar.net'
|
30
|
-
subject 'This is a test email'
|
31
|
-
|
32
|
-
text_part do
|
33
|
-
body 'This is plain text'
|
34
|
-
end
|
35
|
-
html_part do
|
36
|
-
content_type 'text/html; charset=UTF-8'
|
37
|
-
body '<h1>This is HTML</h1>'
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
EmailPreview.register 'user activation email' do
|
43
|
-
u = User.new :email => 'foo@example.com'
|
44
|
-
UserNotifier.activation
|
45
|
-
end
|
46
|
-
|
47
|
-
by default, email_preview is only available in development mode. to turn on globally use:
|
48
|
-
EmailPreview.allowed_environments << 'production'
|
49
|
-
|
50
|
-
browse the list of registered emails and preview them in your browser at:
|
51
|
-
http://localhost:3000/email_preview
|
52
|
-
|
53
|
-
== Note on Patches/Pull Requests
|
54
|
-
|
55
|
-
* Fork the project.
|
56
|
-
* Make your feature addition or bug fix.
|
57
|
-
* Add tests for it. This is important so I don't break it in a
|
58
|
-
future version unintentionally.
|
59
|
-
* Commit, do not mess with rakefile, version, or history.
|
60
|
-
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
61
|
-
* Send me a pull request. Bonus points for topic branches.
|
62
|
-
|
63
|
-
== Copyright
|
64
|
-
|
65
|
-
Copyright (c) 2010 Ryan Sonnek. See LICENSE for details.
|