mjml-rails 4.2.3 → 4.2.4

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
  SHA256:
3
- metadata.gz: dac524ffb5e037b010261b15fac79520887dede3e3e1247e7c656ad82fef658a
4
- data.tar.gz: cfe736a135609b4fdfba1e6ff43a31e603426d8415ba87912b6fd755249da80b
3
+ metadata.gz: c9eb1e8e21d779a8ae7196740fa0042a79f152260995977b38cf078cd5eea5f1
4
+ data.tar.gz: a7158c5b24476fb99808bdfef9b0d001a15801275e9ee9577758077f4c98c151
5
5
  SHA512:
6
- metadata.gz: a615a1a6831a8ea7328007ce3f08332b31974814c937e26cc672a378a1e034a29a3b11fbd9ec3151377932d67399ee070688a7cb921a2466bf201c49309ad728
7
- data.tar.gz: 6e5e25073a7e868b6ba44874b35f3d4daf00a59ce16fdeeb123956999244e8a6e6dde27e109c0f272eae78682581d3a07a6aa6e9448d245c63fa8ec5dda240e7
6
+ metadata.gz: e0a5b00f83612d1a49539140b94fb0de2490b3dacbe06c5c5256e3f2189866cfba9e3959cf41b2889b3e80eac43b0cf2134854a1dffde9f83ef3a3ecb9b2d1c5
7
+ data.tar.gz: b6dd71b988f199565ab11f77fc45d6d8cf598c614b88f5f1459b3d4494ad90391f4120b3578c047dc9b6120a8c520f32d51c5d64d600f666b04cb20bc7d64060
Binary file
data.tar.gz.sig CHANGED
Binary file
data/README.md CHANGED
@@ -74,25 +74,39 @@ If you're using ```:haml``` or any other Rails template language, create an init
74
74
  # config/initializers/mjml.rb
75
75
  Mjml.setup do |config|
76
76
  config.template_language = :erb # :erb (default), :slim, :haml, or any other you are using
77
- # Default is `false` (errors suppressed), set to `true` to enable error raising
78
- # config.raise_render_exception = true
79
- # config.mjml_binary_version_supported = "4."
80
77
  end
81
- # If you set a different MJML binary version, uncomment next line
82
- # Mjml::BIN = Mjml.discover_mjml_bin
83
78
  ```
84
79
 
85
80
  **Note:** If you’re using Haml/Slim layouts, please don’t put `<mjml>` in comments in your partial. Read more: [#34](https://github.com/sighmon/mjml-rails/issues/34).
86
81
 
87
- If you'd like to see render errors:
82
+ If there are configurations you'd like change:
83
+ - render errors: defaults to `false` (errors suppressed)
84
+ - minify: defaults to `false` (not minified)
85
+ - beautify: defaults to `true` (beautified)
88
86
 
89
87
  ```ruby
90
88
  Mjml.setup do |config|
91
- # Default is `false` (errors suppressed), set to `true` to enable error raising
89
+ # set to `true` to enable error raising
92
90
  config.raise_render_exception = true
91
+
92
+ # optimize the size of your email
93
+ config.beautify = false
94
+ config.minify = true
95
+ end
96
+ ```
97
+
98
+ If you’d like to specify a different MJML binary to run other than `4.`:
99
+
100
+ ```ruby
101
+ Mjml.setup do |config|
102
+ config.mjml_binary_version_supported = “3.3.5”
93
103
  end
104
+ # If you set a different MJML binary version, you need to re-discover the binary
105
+ Mjml::BIN = Mjml.discover_mjml_bin
94
106
  ```
95
107
 
108
+ **Note:** If you set a different MJML binary you’ll see warnings in your logs of `already initialized constant Mjml::BIN`. Read more: [#39](https://github.com/sighmon/mjml-rails/issues/39#issuecomment-429151908)
109
+
96
110
  ### MJML v3.x & v4.x support
97
111
 
98
112
  Version 4.x of this gem brings support for MJML 4.x
@@ -5,12 +5,14 @@ require "mjml/railtie"
5
5
  require "rubygems"
6
6
 
7
7
  module Mjml
8
- mattr_accessor :template_language, :raise_render_exception, :mjml_binary_version_supported, :mjml_binary_error_string
8
+ mattr_accessor :template_language, :raise_render_exception, :mjml_binary_version_supported, :mjml_binary_error_string, :beautify, :minify
9
9
 
10
10
  @@template_language = :erb
11
11
  @@raise_render_exception = false
12
12
  @@mjml_binary_version_supported = "4."
13
13
  @@mjml_binary_error_string = "Couldn't find the MJML #{Mjml.mjml_binary_version_supported} binary.. have you run $ npm install mjml?"
14
+ @@beautify = true
15
+ @@minify = false
14
16
 
15
17
  def self.check_version(bin)
16
18
  IO.popen("#{bin} --version") { |io| io.read.include?("mjml-core: #{Mjml.mjml_binary_version_supported}") }
@@ -22,7 +22,7 @@ module Mjml
22
22
  file.write(input)
23
23
  file # return tempfile from block so #unlink works later
24
24
  end
25
- run in_tmp_file.path
25
+ run(in_tmp_file.path, Mjml.beautify, Mjml.minify)
26
26
  rescue
27
27
  raise if Mjml.raise_render_exception
28
28
  ""
@@ -33,9 +33,9 @@ module Mjml
33
33
  # Exec mjml command
34
34
  #
35
35
  # @return [String] The result as string
36
- def run(in_tmp_file)
36
+ def run(in_tmp_file, beautify=true, minify=false)
37
37
  Tempfile.create(["out", ".html"]) do |out_tmp_file|
38
- command = "#{mjml_bin} -r #{in_tmp_file} -o #{out_tmp_file.path}"
38
+ command = "#{mjml_bin} -r #{in_tmp_file} -o #{out_tmp_file.path} --config.beautify #{beautify} --config.minify #{minify}"
39
39
  _, _, stderr, _ = Open3.popen3(command)
40
40
  raise ParseError.new(stderr.read.chomp) unless stderr.eof?
41
41
  out_tmp_file.read
@@ -1,4 +1,4 @@
1
1
  module Mjml
2
2
  # Version number no longer matches MJML.io version
3
- VERSION = "4.2.3"
3
+ VERSION = "4.2.4"
4
4
  end
@@ -37,6 +37,23 @@ describe Mjml::Parser do
37
37
  end
38
38
  end
39
39
  end
40
+
41
+ describe 'can read beautify and minify configs' do
42
+ it 'use defaults if no config is set' do
43
+ expect(Mjml.beautify).equal?(true);
44
+ expect(Mjml.minify).equal?(false);
45
+ end
46
+
47
+ it 'use setup config' do
48
+ Mjml.setup do |config|
49
+ config.beautify = false
50
+ config.minify = true
51
+ end
52
+
53
+ expect(Mjml.beautify).equal?(false);
54
+ expect(Mjml.minify).equal?(true);
55
+ end
56
+ end
40
57
  end
41
58
 
42
59
  describe '#run' do
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.2.3
4
+ version: 4.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Loffler
@@ -35,7 +35,7 @@ cert_chain:
35
35
  2QfUTBQZBmdkzXtFEAAJQVPa0X6iKxer4Na0dbjQciqf+5FrNBrct94To8eEEgqJ
36
36
  Yz5YuMu9yoVoBwOVkHs0NmbAKSv041eBwfQpzmm+reA=
37
37
  -----END CERTIFICATE-----
38
- date: 2018-10-11 00:00:00.000000000 Z
38
+ date: 2018-10-13 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description: Render MJML + ERb template views in Rails
41
41
  email: sighmon@sighmon.com
metadata.gz.sig CHANGED
Binary file