mjml-ruby 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 431c3699bbdba99d82ba599191008e1bddbf7b71
4
- data.tar.gz: 07f94777bb07770d9d9da7b4c81ce5899c5da244
3
+ metadata.gz: 96eb2fb2cdf9e7b6a84efc3a208e01130994a464
4
+ data.tar.gz: 0ee34e9e712afbe03d5d71b57d49e3e791c9670a
5
5
  SHA512:
6
- metadata.gz: e4132a15b2f3c54d3bfcfc37fbd16456f3f3fa2269f8ce5f85e9d65c80c4a8eebfce9fb322ec0b47c365198f88441cb87c0ef9f569dc94a180c831fc19060180
7
- data.tar.gz: 0671779264d9699d6e3d4ff4e2e672cf4a8a6443c54c75f272bb6059f1da34436d668931b3f15332f94e802ffdf75fefb9e7f06e0ca3f9a915a0fe157bc39be2
6
+ metadata.gz: 1d09aad69ade8d2e736f35bff62a25b53c250d2e9487435e2decce997d5ab1b43cc4b2929f0f795c5f0de588d8172295ce80e0a264aff6455e12fa311860f8ba
7
+ data.tar.gz: 94192c8a562b1d2ed8bfe17d87a8d758b924460cfb47c040d7ae282276a58c1f97e4d503b049b173fe55a2d6692156287c10aeff8bbb9b1913984c51a96c95f0
@@ -10,11 +10,15 @@ module MJML
10
10
  extend Dry::Configurable
11
11
  # Available settings
12
12
  setting :bin_path
13
+ setting :debug
14
+ setting :logger
13
15
 
14
16
  def self.setup!
15
17
  # Init config
16
18
  configure do |config|
17
19
  config.bin_path = find_executable
20
+ config.logger = choose_logger
21
+ config.debug = false
18
22
  end
19
23
  end
20
24
 
@@ -28,6 +32,19 @@ module MJML
28
32
  ver, _status = Open3.capture2(find_executable, '-V')
29
33
  (ver =~ VERSION_REGEX).nil? ? nil : ver
30
34
  end
35
+
36
+ def self.choose_logger
37
+ if defined?(Rails)
38
+ Rails.logger
39
+ else
40
+ require 'mjml/logger'
41
+ MJML::Logger.setup!(STDOUT)
42
+ end
43
+ end
44
+
45
+ def self.logger
46
+ config.logger
47
+ end
31
48
  end
32
49
 
33
50
  MJML.setup!
@@ -0,0 +1,17 @@
1
+ require 'logger'
2
+
3
+ module MJML
4
+ # Simple logger for debugging MJML
5
+ class Logger < ::Logger
6
+ def self.setup!(destination)
7
+ logger = new(destination)
8
+ logger.level = ::Logger::DEBUG
9
+
10
+ logger.formatter = proc do |severity, datetime, _progname, msg|
11
+ "[#{datetime}] #{severity} -- MJML: #{msg}" if MJML.config.debug
12
+ end
13
+
14
+ logger
15
+ end
16
+ end
17
+ end
@@ -9,6 +9,8 @@ module MJML
9
9
  ROOT_TAGS_REGEX = %r{<mjml>.*<\/mjml>}im
10
10
 
11
11
  def initialize
12
+ MJML.logger.debug("Path: #{mjml_bin};" \
13
+ "Version: #{MJML.executable_version}")
12
14
  raise ExecutableNotFound if MJML.executable_version.nil?
13
15
  end
14
16
 
@@ -25,10 +27,14 @@ module MJML
25
27
  private
26
28
 
27
29
  def exec!(template)
30
+ MJML.logger.debug("Template:\n #{template}")
28
31
  raise InvalidTemplate if template.empty?
32
+
33
+ MJML.logger.debug("Partial: #{partial?(template)}")
29
34
  return template if partial?(template)
30
35
 
31
36
  out, err, _status = Open3.capture3(build_cmd(template))
37
+ MJML.logger.debug("Output:\n #{out};\n\n Errors:\n #{err}")
32
38
 
33
39
  raise InvalidTemplate unless err.empty?
34
40
  out
@@ -1,3 +1,3 @@
1
1
  module MJML
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mjml-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mykola Basov
@@ -126,6 +126,7 @@ extensions: []
126
126
  extra_rdoc_files: []
127
127
  files:
128
128
  - lib/mjml.rb
129
+ - lib/mjml/logger.rb
129
130
  - lib/mjml/parser.rb
130
131
  - lib/mjml/railtie.rb
131
132
  - lib/mjml/version.rb