module Docgen
Constants
- VERSION
Public Instance Methods
gen(document_set, format_name, boilerplate, *template)
click to toggle source
Substitute custom values for text placeholders
# File lib/docgen.rb, line 27 def gen document_set, format_name, boilerplate, *template content = apply_substitutions_to document_set, boilerplate get_formatter(format_name).format content, template end
process(document_set, file_type, file_path, *other_args)
click to toggle source
Apply customizations to a complex file type such as pptx, xlsx, docx, odp, ods, odt). “other_args” will be interpreted differently by the processor for each file type.
# File lib/docgen.rb, line 16 def process document_set, file_type, file_path, *other_args processor_class_name = "Process#{file_type.split('_').collect(&:capitalize).join}" begin processor = Object::const_get("#{processor_class_name}").new rescue NameError => e raise "Undefined processor class: #{processor_class_name}" end processor.process document_set, file_path, other_args end
Private Instance Methods
apply_substitutions_to(document_set, boilerplate)
click to toggle source
# File lib/docgen.rb, line 43 def apply_substitutions_to document_set, boilerplate keys = boilerplate.scan(/(::.*?::)/m) return boilerplate unless keys.any? content = boilerplate keys.flatten! keys.each do |key| content = content.gsub(key,lookup(document_set, key)) end content end
get_formatter(format_name)
click to toggle source
# File lib/docgen.rb, line 34 def get_formatter format_name formatter_class_name = "Gen#{format_name.split('_').collect(&:capitalize).join}" begin formatter = Object::const_get("#{formatter_class_name}").new rescue NameError => e raise "Unsupported output format: #{format_name}" end end
lookup(document_set, key)
click to toggle source
# File lib/docgen.rb, line 54 def lookup document_set, key substitution_text_for document_set, key.gsub(/::/,'') end