module MJML
MJML
library for ruby
Constants
- EXTENSION
- MIME_TYPE
Constants
- VERSION
- VERSION_3_REGEX
- VERSION_4_REGEX
Public Class Methods
executable_version()
click to toggle source
# File lib/mjml.rb, line 43 def self.executable_version @executable_version ||= extract_executable_version end
extract_executable_version()
click to toggle source
# File lib/mjml.rb, line 47 def self.extract_executable_version ver, _status = Open3.capture2(Config.bin_path, '--version') # mjml 3.x outputs version directly: # 3.3.5 # --> just take this as the version # mjml 4.x outputs two rows: # mjml-core: 4.0.0 # mjml-cli: 4.0.0 # --> we take the second number as the version, since we call the cli case ver.count("\n") when 1 # one line, mjml 3.x match = ver.match(VERSION_3_REGEX) when 2 # two lines, might be 4.x match = ver.match(VERSION_4_REGEX) end match.nil? ? nil : match[1] rescue Errno::ENOENT => _e raise BinaryNotFound, "mjml binary not found for path '#{Config.bin_path}'" end
find_executable()
click to toggle source
# File lib/mjml.rb, line 37 def self.find_executable local_path = File.expand_path('node_modules/.bin/mjml', Dir.pwd) return local_path if File.file?(local_path) `/usr/bin/env which mjml`.strip end
logger()
click to toggle source
# File lib/mjml.rb, line 73 def self.logger Config.logger end
setup!()
click to toggle source
# File lib/mjml.rb, line 28 def self.setup! # Init config Config.bin_path = find_executable Config.debug = nil Config.logger = Logger.setup!(STDOUT) Config.minify_output = false Config.validation_level = :skip end