From e0f91dd7662f8dd56ab8bbca900607e0b5737714 Mon Sep 17 00:00:00 2001 From: Matt Maguire Date: Thu, 1 Oct 2020 17:31:37 -0700 Subject: [PATCH] exctract fields from the template --- lib/sablon/template.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/sablon/template.rb b/lib/sablon/template.rb index 54b9a82d..d5ac340f 100644 --- a/lib/sablon/template.rb +++ b/lib/sablon/template.rb @@ -49,6 +49,12 @@ def render_to_string(context, properties = {}) render(context, properties).string end + def fields + xml_node = Sablon::DOM::Model.new(Zip::File.open(@path, !File.exists?(@path))).zip_contents['word/document.xml'] + parser = Sablon::Parser::MailMerge.new() + parser.parse_fields(xml_node).map(&:expression).uniq + end + private def render(context, properties = {})