module LiquidDiagrams::Utils
Constants
- INLINE_OPTIONS_REGEXP
- INLINE_OPTIONS_SYNTAX
Public Instance Methods
build_flags(config, keys, prefix: '--')
click to toggle source
# File lib/liquid_diagrams/utils.rb, line 40 def build_flags(config, keys, prefix: '--') config.slice(*keys).map do |flag, val| "#{prefix}#{flag}" if val end.join(' ').strip end
build_options(config, keys, prefix: '--', sep: ' ')
click to toggle source
# File lib/liquid_diagrams/utils.rb, line 34 def build_options(config, keys, prefix: '--', sep: ' ') config.slice(*keys).map do |opt, val| "#{prefix}#{opt}#{sep}#{val}" end.join(' ').strip end
join(args, with:) { |arg| ... }
click to toggle source
Join the args with prefix
@param args [String, Array, Hash] @param with [String]
@yield When `args` is a Hash, you must provide a block @yieldreturn [String] The result string to join
@return [String]
@example join on string
join('path', with: ' -I') # => '-Ipath'
@example join on array
join(%w[path1 path2], with: ' -I') # => '-Ipath1 -Ipath2'
@example join on hash
join({ color: 'red', size: '10' }, with: ' --') do |k, v| "#{k} #{v}" end # => '--color red --size 10'
# File lib/liquid_diagrams/utils.rb, line 27 def join(args, with:) args = Array(args) args = args.map { |arg| yield arg } if block_given? "#{with}#{args.join(with)}".strip end
parse_inline_options(input)
click to toggle source
# File lib/liquid_diagrams/utils.rb, line 57 def parse_inline_options(input) options = {} input.scan(INLINE_OPTIONS_REGEXP) do |key, value| value.delete!('"') if value.include?('"') options[key.to_s] = value end options end
run_jar(jar)
click to toggle source
# File lib/liquid_diagrams/utils.rb, line 46 def run_jar(jar) "java -Djava.awt.headless=true -jar #{jar}" end
vendor_path(file = '')
click to toggle source
# File lib/liquid_diagrams/utils.rb, line 50 def vendor_path(file = '') File.join(__dir__, '../../vendor', file) end