mjml-rails 4.0.0 → 4.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72a95cbc8dcf59b245446fd1406d85d1b6b043ba
4
- data.tar.gz: 79a41fff1da9e8af8fdfecd2dd22c4a046171e6a
3
+ metadata.gz: 5014e13de47b20eba32fbaeadc7b709c709a641a
4
+ data.tar.gz: e480e849f097186c3cc15689304b31e0a677dbda
5
5
  SHA512:
6
- metadata.gz: 77bbcb101b03a89845d1439c93ebc83322fffc70118596441141d63310e9542ece495b2eafc838fe1eac73767a5dc31d8c395fd570ab5dbd156b9662b6ca50bc
7
- data.tar.gz: 0bc851c256341883f0e69ccc44aa2b60a228b3193ed6cf846409ae283eed27de91b4751260b54cff35b93ba8a373c18a7b619096e108cda8ac6a7dfb16cf8c06
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
- ��k/������0L�qIƬQCYQ��W�,'��!�x�4���/�s�.f�up�]�i͐����`i/����G�b�}��v\�4<:+cy�WS@E0�q�`]�jE�Fӆ�kd���Z?��(8���^���f�?�F4h����0���|�g(�2��O,�P1|��r�@b���_�ј"����������I�~�s���#
2
- 6�� X�����Z �ت_xK��́��ތSO����n���;a1�
1
+ Y?�>�2[�`Iŀ�Zsz����П�f<��φ� ��8���棠��=Kɕ�pDPϾ��0��E�&�)=���S)A
2
+ �<�K��kc��� Ȋ����^#����aq#�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@4.0.0
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
@@ -19,7 +19,7 @@ module Mjml
19
19
  remove_tmp_files
20
20
  result
21
21
  rescue
22
-
22
+ raise if Mjml.raise_render_exception
23
23
  ""
24
24
  end
25
25
 
data/lib/mjml/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Mjml
2
2
  # Version number no longer matches MJML.io version
3
- VERSION = "4.0.0"
3
+ VERSION = "4.0.1"
4
4
  end
@@ -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
@@ -9,6 +9,7 @@ require "action_mailer"
9
9
  require "rails/railtie"
10
10
  require "rails/generators"
11
11
  require "rails/generators/test_case"
12
+ require 'mocha/minitest'
12
13
 
13
14
  # require "minitest/reporters"
14
15
  # Minitest::Reporters.use!
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.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-07 00:00:00.000000000 Z
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
- I�_���� 0"���[�<��(��s���;YM����o*�4K��x+�S�R@U�em�i�N��|q!���Pr��&��[X0ۙ�f:�yf3�L��~����cS�aN��� ~�#9���m8k�>�l��_ ����H�ٷZp���Z�a�'Y2����ͱ���?��y銪�T�<�"�g1ʂ3��`����hY;�z[�;�Ҹ�"v�\���CSd٭�m�u���u4+�i_u����k���;�Ѡ
1
+ �b���W
2
+ 1�s�� D�'f�>��Z����U�p��P� �X��]�{e�� ����_�z�'�0M]�����6�9]t��Rq���F����N�LL