maily 0.9.1 → 0.10.0
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/CHANGELOG.md +8 -2
- data/README.md +25 -7
- data/app/assets/stylesheets/maily/application.scss +3 -9
- data/app/views/layouts/maily/application.html.erb +2 -3
- data/app/views/maily/emails/show.html.erb +6 -0
- data/lib/maily/email.rb +15 -3
- data/lib/maily/engine.rb +0 -1
- data/lib/maily/version.rb +1 -1
- metadata +3 -5
- data/app/assets/javascripts/maily/application.js +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d01f0d8930069a1374188b48d4e61c1a1086fbe3255daa27f17a6bc216a2acbd
|
4
|
+
data.tar.gz: 7807b4055b8db684bc5a20434e79d9a40fff8c89386002e8356ccc655b8da739
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6742b9d9d8b09d469e719dc685219c12358dba1af053a98ef6daecaf70588134d921d1bac1d353342c8cffc9fc88e7623d2591d06dcef8cbafd8456f57b0f6d
|
7
|
+
data.tar.gz: 95f2d2e0cd3f1498fe913b5f2cab33558b52d0ef283edb82515f1ff58ff5d0b2114ea424b18429c98efb493fca47ef416a59a67c836ec6ded7f901b43bea27a7
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [0.10.0]
|
6
|
+
|
7
|
+
- Support `ActionMailer::Parameterized` (#39)
|
8
|
+
- UI tweaks
|
9
|
+
|
5
10
|
## [0.9.1]
|
6
11
|
|
7
12
|
- Properly display text parts by respecting break lines
|
@@ -109,6 +114,7 @@ All notable changes to this project will be documented in this file.
|
|
109
114
|
|
110
115
|
- First real usable release :tada:
|
111
116
|
|
117
|
+
[0.10.0]: https://github.com/markets/maily/compare/v0.9.1...v0.10.0
|
112
118
|
[0.9.1]: https://github.com/markets/maily/compare/v0.9.0...v0.9.1
|
113
119
|
[0.9.0]: https://github.com/markets/maily/compare/v0.8.2...v0.9.0
|
114
120
|
[0.8.2]: https://github.com/markets/maily/compare/v0.8.1...v0.8.2
|
@@ -122,8 +128,8 @@ All notable changes to this project will be documented in this file.
|
|
122
128
|
[0.6.1]: https://github.com/markets/maily/compare/v0.6.0...v0.6.1
|
123
129
|
[0.6.0]: https://github.com/markets/maily/compare/v0.5.0...v0.6.0
|
124
130
|
[0.5.0]: https://github.com/markets/maily/compare/v0.4.0...v0.5.0
|
125
|
-
[0.4.0]: https://github.com/markets/maily/compare/v0.
|
126
|
-
[0.3.5]: https://github.com/markets/maily/compare/v0.3.
|
131
|
+
[0.4.0]: https://github.com/markets/maily/compare/v0.3.5...v0.4.0
|
132
|
+
[0.3.5]: https://github.com/markets/maily/compare/v0.3.4...v0.3.5
|
127
133
|
[0.3.4]: https://github.com/markets/maily/compare/v0.3.3...v0.3.4
|
128
134
|
[0.3.3]: https://github.com/markets/maily/compare/v0.3.2...v0.3.3
|
129
135
|
[0.3.2]: https://github.com/markets/maily/compare/v0.3.1...v0.3.2
|
data/README.md
CHANGED
@@ -1,8 +1,14 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
<div>
|
2
|
+
<p align="center">
|
3
|
+
<img src="https://raw.githubusercontent.com/markets/maily/master/support/images/logo.png">
|
4
|
+
</p>
|
5
|
+
<p align="center">
|
6
|
+
<a href="https://rubygems.org/gems/maily"><img src="https://img.shields.io/gem/v/maily.svg?style=flat-square"></a>
|
7
|
+
<a href="https://travis-ci.org/markets/maily"><img src="https://travis-ci.org/markets/maily.svg?branch=master"></a>
|
8
|
+
<a href="https://codeclimate.com/github/markets/maily/maintainability)"><img src="https://api.codeclimate.com/v1/badges/fff01b2137fd73070b14/maintainability"></a>
|
9
|
+
<a href="https://github.com/markets/maily/blob/master/MIT-LICENSE"><img alt="GitHub" src="https://img.shields.io/github/license/markets/maily.svg?style=flat-square"></a>
|
10
|
+
</p>
|
11
|
+
</div>
|
6
12
|
|
7
13
|
Maily is a Rails Engine to manage, test and navigate through all your email templates of your app, being able to preview them directly in your browser.
|
8
14
|
|
@@ -20,11 +26,11 @@ Maily automatically picks up all your emails and make them accessible from a kin
|
|
20
26
|
* Easy way (aka `hooks`) to define and customize data for emails
|
21
27
|
* Generator to handle a comfortable installation
|
22
28
|
|
23
|
-

|
29
|
+

|
24
30
|
|
25
31
|
## Installation
|
26
32
|
|
27
|
-
Add this line to
|
33
|
+
Add this line to your `Gemfile` and then run `bundle install`:
|
28
34
|
|
29
35
|
```ruby
|
30
36
|
gem 'maily'
|
@@ -139,6 +145,18 @@ Maily.hooks_for('Notifier') do |mailer|
|
|
139
145
|
end
|
140
146
|
```
|
141
147
|
|
148
|
+
### Use `params`
|
149
|
+
|
150
|
+
Support for [`ActionMailer::Parameterized`](https://api.rubyonrails.org/classes/ActionMailer/Parameterized.html) is possible via `with_params` hash:
|
151
|
+
|
152
|
+
```ruby
|
153
|
+
message = -> { 'Hello!' }
|
154
|
+
|
155
|
+
Maily.hooks_for('Notifier') do |mailer|
|
156
|
+
mailer.register_hook(:new_message, with_params: { message: message })
|
157
|
+
end
|
158
|
+
```
|
159
|
+
|
142
160
|
### External emails
|
143
161
|
|
144
162
|
If you want to register and display in the UI, emails from external sources, like for example a gem, you can do it by adding a hook. Example:
|
@@ -236,6 +236,8 @@ footer.footer {
|
|
236
236
|
aside.sidebar {
|
237
237
|
float: left;
|
238
238
|
width: 20%;
|
239
|
+
max-height: 90vh;
|
240
|
+
overflow-y: scroll;
|
239
241
|
|
240
242
|
section.nav_list {
|
241
243
|
margin: 0 0 1.5em 1.5em;
|
@@ -300,12 +302,4 @@ img.icon {
|
|
300
302
|
width: 20px;
|
301
303
|
font-size: .9em;
|
302
304
|
vertical-align: bottom;
|
303
|
-
}
|
304
|
-
|
305
|
-
/* Utils */
|
306
|
-
.clearfix:before,
|
307
|
-
.clearfix:after {
|
308
|
-
display: table;
|
309
|
-
content: " ";
|
310
|
-
}
|
311
|
-
.clearfix:after { clear: both; }
|
305
|
+
}
|
@@ -2,14 +2,13 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title><%= title %></title>
|
5
|
-
<%= stylesheet_link_tag
|
6
|
-
<%= javascript_include_tag "maily/application" %>
|
5
|
+
<%= stylesheet_link_tag "maily/application", media: "all" %>
|
7
6
|
<%= csrf_meta_tags %>
|
8
7
|
</head>
|
9
8
|
<body>
|
10
9
|
<%= render 'maily/shared/header' %>
|
11
10
|
|
12
|
-
<div class="wrap_content
|
11
|
+
<div class="wrap_content">
|
13
12
|
<%= render 'maily/shared/sidebar' %>
|
14
13
|
|
15
14
|
<div class="content">
|
data/lib/maily/email.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Maily
|
2
2
|
class Email
|
3
|
-
attr_accessor :name, :mailer, :arguments, :template_path, :template_name, :description
|
3
|
+
attr_accessor :name, :mailer, :arguments, :template_path, :template_name, :description, :with_params
|
4
4
|
|
5
5
|
def initialize(name, mailer)
|
6
6
|
self.name = name
|
7
7
|
self.mailer = mailer
|
8
8
|
self.arguments = nil
|
9
|
+
self.with_params = nil
|
9
10
|
self.template_path = mailer.name
|
10
11
|
self.template_name = name
|
11
12
|
self.description = nil
|
@@ -15,6 +16,15 @@ module Maily
|
|
15
16
|
mailer.klass
|
16
17
|
end
|
17
18
|
|
19
|
+
def parameterized_mailer_klass
|
20
|
+
if Rails.version >= '5.1'
|
21
|
+
params = with_params && with_params.transform_values { |param| param.respond_to?(:call) ? param.call : param }
|
22
|
+
mailer_klass.with(params)
|
23
|
+
else
|
24
|
+
mailer_klass
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
18
28
|
def parameters
|
19
29
|
mailer_klass.instance_method(name).parameters
|
20
30
|
end
|
@@ -59,6 +69,8 @@ module Maily
|
|
59
69
|
self.template_name = tpl_name
|
60
70
|
end
|
61
71
|
|
72
|
+
self.with_params = args.last.delete(:with_params)
|
73
|
+
|
62
74
|
args.pop
|
63
75
|
end
|
64
76
|
|
@@ -69,9 +81,9 @@ module Maily
|
|
69
81
|
*args = arguments && arguments.map { |arg| arg.respond_to?(:call) ? arg.call : arg }
|
70
82
|
|
71
83
|
if args == [nil]
|
72
|
-
|
84
|
+
parameterized_mailer_klass.public_send(name)
|
73
85
|
else
|
74
|
-
|
86
|
+
parameterized_mailer_klass.public_send(name, *args)
|
75
87
|
end
|
76
88
|
end
|
77
89
|
|
data/lib/maily/engine.rb
CHANGED
data/lib/maily/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maily
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- markets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -94,7 +94,6 @@ files:
|
|
94
94
|
- app/assets/images/maily/icons/globe.svg
|
95
95
|
- app/assets/images/maily/icons/paperclip.svg
|
96
96
|
- app/assets/images/maily/logo.png
|
97
|
-
- app/assets/javascripts/maily/application.js
|
98
97
|
- app/assets/stylesheets/maily/_variables.scss
|
99
98
|
- app/assets/stylesheets/maily/application.scss
|
100
99
|
- app/controllers/maily/application_controller.rb
|
@@ -137,8 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
136
|
- !ruby/object:Gem::Version
|
138
137
|
version: '0'
|
139
138
|
requirements: []
|
140
|
-
|
141
|
-
rubygems_version: 2.7.6
|
139
|
+
rubygems_version: 3.0.3
|
142
140
|
signing_key:
|
143
141
|
specification_version: 4
|
144
142
|
summary: Rails Engine to preview emails in the browser.
|