mjml-ruby 0.1.2 → 0.2.0

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: 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