mjml-ruby 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mjml.rb +7 -1
- data/lib/mjml/parser.rb +4 -6
- data/lib/mjml/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 431c3699bbdba99d82ba599191008e1bddbf7b71
|
4
|
+
data.tar.gz: 07f94777bb07770d9d9da7b4c81ce5899c5da244
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4132a15b2f3c54d3bfcfc37fbd16456f3f3fa2269f8ce5f85e9d65c80c4a8eebfce9fb322ec0b47c365198f88441cb87c0ef9f569dc94a180c831fc19060180
|
7
|
+
data.tar.gz: 0671779264d9699d6e3d4ff4e2e672cf4a8a6443c54c75f272bb6059f1da34436d668931b3f15332f94e802ffdf75fefb9e7f06e0ca3f9a915a0fe157bc39be2
|
data/lib/mjml.rb
CHANGED
@@ -5,6 +5,7 @@ module MJML
|
|
5
5
|
# Constants
|
6
6
|
MIME_TYPE = 'text/mjml'.freeze
|
7
7
|
EXTENSION = '.mjml'.freeze
|
8
|
+
VERSION_REGEX = /^\d\.\d\.\d/i
|
8
9
|
|
9
10
|
extend Dry::Configurable
|
10
11
|
# Available settings
|
@@ -20,7 +21,12 @@ module MJML
|
|
20
21
|
def self.find_executable
|
21
22
|
local_path = File.expand_path('node_modules/.bin/mjml', Dir.pwd)
|
22
23
|
return local_path if File.file?(local_path)
|
23
|
-
`/usr/bin/which mjml`.strip
|
24
|
+
`/usr/bin/env bash -c "which mjml"`.strip
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.executable_version
|
28
|
+
ver, _status = Open3.capture2(find_executable, '-V')
|
29
|
+
(ver =~ VERSION_REGEX).nil? ? nil : ver
|
24
30
|
end
|
25
31
|
end
|
26
32
|
|
data/lib/mjml/parser.rb
CHANGED
@@ -7,10 +7,9 @@ module MJML
|
|
7
7
|
class ExecutableNotFound < StandardError; end
|
8
8
|
|
9
9
|
ROOT_TAGS_REGEX = %r{<mjml>.*<\/mjml>}im
|
10
|
-
VERSION_REGEX = /^\d\.\d\.\d/i
|
11
10
|
|
12
11
|
def initialize
|
13
|
-
raise ExecutableNotFound if
|
12
|
+
raise ExecutableNotFound if MJML.executable_version.nil?
|
14
13
|
end
|
15
14
|
|
16
15
|
def call(template)
|
@@ -29,7 +28,7 @@ module MJML
|
|
29
28
|
raise InvalidTemplate if template.empty?
|
30
29
|
return template if partial?(template)
|
31
30
|
|
32
|
-
out, err, _status = Open3.capture3(
|
31
|
+
out, err, _status = Open3.capture3(build_cmd(template))
|
33
32
|
|
34
33
|
raise InvalidTemplate unless err.empty?
|
35
34
|
out
|
@@ -43,9 +42,8 @@ module MJML
|
|
43
42
|
MJML.config.bin_path
|
44
43
|
end
|
45
44
|
|
46
|
-
def
|
47
|
-
|
48
|
-
(ver =~ VERSION_REGEX).nil? ? nil : ver
|
45
|
+
def build_cmd(template)
|
46
|
+
"/usr/bin/env bash -c \"echo '#{template}' | #{mjml_bin} -is\""
|
49
47
|
end
|
50
48
|
end
|
51
49
|
end
|
data/lib/mjml/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mjml-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mykola Basov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-configurable
|