roda-mailer_preview 0.1.0 → 0.1.1
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.
- checksums.yaml +4 -4
- data/lib/roda/plugins/index.erb +12 -0
- data/lib/roda/plugins/mailer_preview.rb +2 -73
- data/lib/roda/plugins/preview.erb +54 -0
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c6bebcfe3f24eda8a864929a150d9222dee40e7c
|
|
4
|
+
data.tar.gz: 21e3f8ebbbde795a3a775ed53bc677b6f78c802a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c6ee291cacad248bce0b0c76abc9584c59d5853cd06eb465d6d8709905f8bfd23c1e79edbf5908c9440f6ea37e0dd26c5d4fd9e66bfce7fd739cf64bc44d5f98
|
|
7
|
+
data.tar.gz: 2fc0290827c0e15cb7b11c39c6ebc97b0d15a2d3ca1267827c64d2cd3436f091ab2f2e4df891965007cc06150640fbf33a3c1f7c954630e36b299f7e09c24d28
|
|
@@ -31,77 +31,6 @@ class Roda
|
|
|
31
31
|
# preview_index(available_previews)
|
|
32
32
|
# end
|
|
33
33
|
module MailerPreview
|
|
34
|
-
TEMPLATE = <<-EOC # :nodoc:
|
|
35
|
-
<!DOCTYPE html>
|
|
36
|
-
<html>
|
|
37
|
-
<head>
|
|
38
|
-
<meta name="viewport" content="width=device-width">
|
|
39
|
-
<style type="text/css">
|
|
40
|
-
body {
|
|
41
|
-
margin: 0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
header {
|
|
45
|
-
font: 12px "Lucida Grande", sans-serif;
|
|
46
|
-
border-bottom: 1px solid #ddd;
|
|
47
|
-
padding: 0.5em;
|
|
48
|
-
overflow: visible;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
header dt {
|
|
52
|
-
width: 80px;
|
|
53
|
-
float: left;
|
|
54
|
-
clear: left;
|
|
55
|
-
text-align: right;
|
|
56
|
-
color: #7f7f7f;
|
|
57
|
-
padding: 1px;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
header dd {
|
|
61
|
-
margin-left: 90px;
|
|
62
|
-
padding: 1px;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.plain {
|
|
66
|
-
padding: 1em;
|
|
67
|
-
}
|
|
68
|
-
</style>
|
|
69
|
-
</head>
|
|
70
|
-
<body>
|
|
71
|
-
<header>
|
|
72
|
-
<dl>
|
|
73
|
-
<% headers.each do |header| %>
|
|
74
|
-
<dt><%= header.name %>:</dt>
|
|
75
|
-
<dd><%= header.to_s %></dd>
|
|
76
|
-
<% end %>
|
|
77
|
-
</dl>
|
|
78
|
-
</header>
|
|
79
|
-
|
|
80
|
-
<div class="body">
|
|
81
|
-
<% if mail.content_type =~ /plain/ %>
|
|
82
|
-
<pre class="plain"><%= mail.body %></div>
|
|
83
|
-
<% else %>
|
|
84
|
-
<%= mail.body %>
|
|
85
|
-
<% end %>
|
|
86
|
-
</div>
|
|
87
|
-
</body>
|
|
88
|
-
</html>
|
|
89
|
-
EOC
|
|
90
|
-
|
|
91
|
-
INDEX_TEMPLATE = <<-EOC # :nodoc:
|
|
92
|
-
<!DOCTYPE html>
|
|
93
|
-
<html>
|
|
94
|
-
<head>
|
|
95
|
-
</head>
|
|
96
|
-
<body>
|
|
97
|
-
<ul>
|
|
98
|
-
<% urls.each do |url| %>
|
|
99
|
-
<li><a href="<%= path %><%= url %>"><%= url %></a></li>
|
|
100
|
-
<% end %>
|
|
101
|
-
</ul>
|
|
102
|
-
</body>
|
|
103
|
-
EOC
|
|
104
|
-
|
|
105
34
|
module InstanceMethods
|
|
106
35
|
# Pass an instance of +Mail+ to render a preview
|
|
107
36
|
#
|
|
@@ -118,7 +47,7 @@ class Roda
|
|
|
118
47
|
acceptable_headers.include?(field.name)
|
|
119
48
|
end
|
|
120
49
|
|
|
121
|
-
render(
|
|
50
|
+
render(path: __dir__ + "/preview.erb", locals: { mail: mail, headers: headers })
|
|
122
51
|
end
|
|
123
52
|
|
|
124
53
|
# Pass an array of paths to render an index of available previews
|
|
@@ -128,7 +57,7 @@ class Roda
|
|
|
128
57
|
# preview_index(available_previews)
|
|
129
58
|
# end
|
|
130
59
|
def preview_index(urls, path: request.path)
|
|
131
|
-
render(
|
|
60
|
+
render(path: __dir__ + "/index.erb", locals: { urls: urls, path: path })
|
|
132
61
|
end
|
|
133
62
|
end
|
|
134
63
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta name="viewport" content="width=device-width">
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body {
|
|
7
|
+
margin: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
header {
|
|
11
|
+
font: 12px "Lucida Grande", sans-serif;
|
|
12
|
+
border-bottom: 1px solid #ddd;
|
|
13
|
+
padding: 0.5em;
|
|
14
|
+
overflow: visible;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
header dt {
|
|
18
|
+
width: 80px;
|
|
19
|
+
float: left;
|
|
20
|
+
clear: left;
|
|
21
|
+
text-align: right;
|
|
22
|
+
color: #7f7f7f;
|
|
23
|
+
padding: 1px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
header dd {
|
|
27
|
+
margin-left: 90px;
|
|
28
|
+
padding: 1px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.plain {
|
|
32
|
+
padding: 1em;
|
|
33
|
+
}
|
|
34
|
+
</style>
|
|
35
|
+
</head>
|
|
36
|
+
<body>
|
|
37
|
+
<header>
|
|
38
|
+
<dl>
|
|
39
|
+
<% headers.each do |header| %>
|
|
40
|
+
<dt><%= header.name %>:</dt>
|
|
41
|
+
<dd><%= header.to_s %></dd>
|
|
42
|
+
<% end %>
|
|
43
|
+
</dl>
|
|
44
|
+
</header>
|
|
45
|
+
|
|
46
|
+
<div class="body">
|
|
47
|
+
<% if mail.content_type =~ /plain/ %>
|
|
48
|
+
<pre class="plain"><%= mail.body %></div>
|
|
49
|
+
<% else %>
|
|
50
|
+
<%= mail.body %>
|
|
51
|
+
<% end %>
|
|
52
|
+
</div>
|
|
53
|
+
</body>
|
|
54
|
+
</html>
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: roda-mailer_preview
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam Daniels
|
|
@@ -120,7 +120,9 @@ extra_rdoc_files: []
|
|
|
120
120
|
files:
|
|
121
121
|
- README.md
|
|
122
122
|
- Rakefile
|
|
123
|
+
- lib/roda/plugins/index.erb
|
|
123
124
|
- lib/roda/plugins/mailer_preview.rb
|
|
125
|
+
- lib/roda/plugins/preview.erb
|
|
124
126
|
homepage: https://github.com/adam12/roda-mailer_preview
|
|
125
127
|
licenses:
|
|
126
128
|
- MIT
|