#!/usr/bin/env ruby
# frozen_string_literal: true
require 'bundler/setup'
require 'liquid'
class VirtualFileSystem
def initialize
snippet_1 = '
{{ greating | default: "Hello" }}, {{ name | default: "world" }}!
'
snippet_2 = '{% for i in (1..5) %} > {{ i }}{% endfor %}'
@templates = {
'snippet_1' => snippet_1,
'snippet_2' => snippet_2,
}
end
def read_template_file(key)
@templates[key] || raise(Liquid::FileSystemError, "No such template '#{key}'")
end
end
error_mode = :strict
# error_mode = :rigid
file = File.read(ARGV[0])
template = Liquid::Template.parse(file, error_mode: error_mode)
template.registers[:file_system] = VirtualFileSystem.new
puts template.render