mjml-rails 4.0.0 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -2
- data/README.md +21 -1
- data/lib/mjml.rb +2 -1
- data/lib/mjml/parser.rb +1 -1
- data/lib/mjml/version.rb +1 -1
- data/test/parser_test.rb +41 -0
- data/test/test_helper.rb +1 -0
- metadata +4 -2
- metadata.gz.sig +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5014e13de47b20eba32fbaeadc7b709c709a641a
|
4
|
+
data.tar.gz: e480e849f097186c3cc15689304b31e0a677dbda
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 288223021e733b84cad492e4f8a096b25dca32aed961a669758a855299ee2e85a6fafe248ad3025525d911690b31f49eb42bbd6b051935b173b611870fe33314
|
7
|
+
data.tar.gz: 645b6fd54de458ea4b5907b908013b77066f65b5c9925aab1293af4dc7232261353178f5adcb3f1adb08079ed3759c8875d196cdc0dedb734690bd4373790271
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
Y?�>�2�[�`Iŀ�Zs�z����П�f<��φ���8���棠��=Kɕ�p�DPϾ��0��E�&�)=���S)A
|
2
|
+
�<�K��kc���Ȋ����^#����a�q#�uD���XHp?xX�c
|
data/README.md
CHANGED
@@ -4,11 +4,16 @@
|
|
4
4
|
|
5
5
|
**MJML-Rails** allows you to render HTML e-mails from an [MJML](https://mjml.io) template.
|
6
6
|
|
7
|
+
*Please note: this gem has recently updated to support MJML 4 - so there may be rendering changes. Check your output! And please submit pull requests for updates to the documentation if needed*
|
8
|
+
|
7
9
|
An example template might look like:
|
8
10
|
|
9
11
|
```erb
|
10
12
|
<!-- ./app/views/user_mailer/email.mjml -->
|
11
13
|
<mjml>
|
14
|
+
<mj-head>
|
15
|
+
<mj-preview>Hello World</mj-preview>
|
16
|
+
</mj-head>
|
12
17
|
<mj-body>
|
13
18
|
<mj-container>
|
14
19
|
<mj-section>
|
@@ -62,7 +67,7 @@ bundle install
|
|
62
67
|
Install the MJML parser (optional -g to install it globally):
|
63
68
|
|
64
69
|
```console
|
65
|
-
npm install -g mjml
|
70
|
+
npm install -g mjml
|
66
71
|
```
|
67
72
|
|
68
73
|
Note that you'll need at least Node.js version 6 for MJML to function properly.
|
@@ -76,6 +81,15 @@ Mjml.setup do |config|
|
|
76
81
|
end
|
77
82
|
```
|
78
83
|
|
84
|
+
If you'd like to see render errors:
|
85
|
+
|
86
|
+
```ruby
|
87
|
+
Mjml.setup do |config|
|
88
|
+
# Default is `false` (errors suppressed), set to `true` to enable error raising
|
89
|
+
config.raise_render_exception = true
|
90
|
+
end
|
91
|
+
```
|
92
|
+
|
79
93
|
### MJML v3.x & v4.0.x support
|
80
94
|
|
81
95
|
Version 4.0.x of this gem brings support for MJML 4.0.x
|
@@ -94,6 +108,12 @@ For MJML 3.x lock the mjml-rails gem:
|
|
94
108
|
gem 'mjml-rails', '2.4.3'
|
95
109
|
```
|
96
110
|
|
111
|
+
And then to install MJML 3.x
|
112
|
+
|
113
|
+
```console
|
114
|
+
npm install -g mjml@3.3.5
|
115
|
+
```
|
116
|
+
|
97
117
|
### How to guides
|
98
118
|
|
99
119
|
[Hugo Giraudel](https://twitter.com/hugogiraudel) wrote a post on [using MJML in Rails](http://dev.edenspiekermann.com/2016/06/02/using-mjml-in-rails/).
|
data/lib/mjml.rb
CHANGED
@@ -5,9 +5,10 @@ require "mjml/railtie"
|
|
5
5
|
require "rubygems"
|
6
6
|
|
7
7
|
module Mjml
|
8
|
-
mattr_accessor :template_language
|
8
|
+
mattr_accessor :template_language, :raise_render_exception
|
9
9
|
|
10
10
|
@@template_language = :erb
|
11
|
+
@@raise_render_exception = false
|
11
12
|
|
12
13
|
def self.check_version(bin)
|
13
14
|
IO.popen("#{bin} --version").read.include?('mjml-core: 4.0.')
|
data/lib/mjml/parser.rb
CHANGED
data/lib/mjml/version.rb
CHANGED
data/test/parser_test.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Mjml::Parser do
|
4
|
+
let(:input) { mock('input') }
|
5
|
+
let(:parser) { Mjml::Parser.new(input) }
|
6
|
+
|
7
|
+
describe '#render' do
|
8
|
+
describe 'when execption is raised' do
|
9
|
+
let(:custom_error_class) { Class.new(StandardError) }
|
10
|
+
let(:error) { custom_error_class.new('custom error') }
|
11
|
+
|
12
|
+
before do
|
13
|
+
parser.stubs(:run).raises(error)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'when render exception raising is enabled' do
|
17
|
+
before do
|
18
|
+
Mjml.setup do |config|
|
19
|
+
config.raise_render_exception = true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'raises exception' do
|
24
|
+
-> { parser.render }.must_raise(custom_error_class, error.message)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe 'when render exception raising is disabled' do
|
29
|
+
before do
|
30
|
+
Mjml.setup do |config|
|
31
|
+
config.raise_render_exception = false
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'returns empty string' do
|
36
|
+
parser.render.must_equal ''
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mjml-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Loffler
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
IUdCp7zF7QpeLz6cgerOpdG0NLHQOEPcWqHpt4yM++TieNrYOuJlkkSd11Ypvgsc
|
32
32
|
RRE0kJj2aO7haTBQ7uQl3cTv2c1s4bLu
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date: 2018-03
|
34
|
+
date: 2018-04-03 00:00:00.000000000 Z
|
35
35
|
dependencies: []
|
36
36
|
description: Render MJML + ERb template views in Rails
|
37
37
|
email: sighmon@sighmon.com
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- test/generator_test.rb
|
54
54
|
- test/mjml_subdir_test.rb
|
55
55
|
- test/mjml_test.rb
|
56
|
+
- test/parser_test.rb
|
56
57
|
- test/template_test.rb
|
57
58
|
- test/test_helper.rb
|
58
59
|
homepage: https://github.com/sighmon/mjml-rails
|
@@ -82,6 +83,7 @@ summary: MJML + ERb templates
|
|
82
83
|
test_files:
|
83
84
|
- test/generator_test.rb
|
84
85
|
- test/mjml_subdir_test.rb
|
86
|
+
- test/parser_test.rb
|
85
87
|
- test/mjml_test.rb
|
86
88
|
- test/template_test.rb
|
87
89
|
- test/test_helper.rb
|
metadata.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
�b���W
|
2
|
+
1�s��D�'f�>��Z����U�p��P��X��]�{e������_�z�'�0M]�����6�9]t��Rq���F����N�LL
|