paper_docx_templater 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/VERSION +1 -1
- data/lib/docx_templater/template_processor.rb +7 -5
- data/spec/example_input/3.docx +0 -0
- data/spec/example_input/document.xml +7042 -0
- data/spec/example_input/test/[Content_Types].xml +2 -0
- data/spec/example_input/test/docProps/app.xml +2 -0
- data/spec/example_input/test/docProps/core.xml +2 -0
- data/spec/example_input/test/word/_rels/document.xml.rels +13 -0
- data/spec/example_input/test/word/document.xml +9000 -0
- data/spec/example_input/test/word/endnotes.xml +2 -0
- data/spec/example_input/test/word/fontTable.xml +2 -0
- data/spec/example_input/test/word/footnotes.xml +2 -0
- data/spec/example_input/test/word/media/image1.jpeg +0 -0
- data/spec/example_input/test/word/media/test1.jpeg +0 -0
- data/spec/example_input/test/word/media/test3.jpeg +0 -0
- data/spec/example_input/test/word/settings.xml +2 -0
- data/spec/example_input/test/word/styles.xml +2 -0
- data/spec/example_input/test/word/theme/theme1.xml +2 -0
- data/spec/example_input/test/word/webSettings.xml +2 -0
- data/spec/example_input/test.docx +0 -0
- data/spec/example_input/tmp/IntegrationTestOutput.docx +0 -0
- data/spec/template_processor_spec.rb +43 -13
- metadata +35 -1
data/lib/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -54,7 +54,7 @@ module DocxTemplater
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def generate_each_paragraph document, key, value
|
57
|
-
document.gsub("$EACH:#{key.to_s.upcase}$", excute_newline(value).join)
|
57
|
+
document.gsub("$EACH:#{key.to_s.upcase}$", excute_newline(value).join)
|
58
58
|
end
|
59
59
|
|
60
60
|
|
@@ -128,18 +128,18 @@ module DocxTemplater
|
|
128
128
|
#DocxTemplater::log(" each_key: #{each_key}")
|
129
129
|
if each_key =~ /items_(.+)/i
|
130
130
|
cache_key = each_key.to_sym
|
131
|
-
@items_cache[cache_key] = innards
|
131
|
+
@items_cache[cache_key] = TR_WRAPPER_ROW.gsub(/\$text\$/, innards)
|
132
132
|
each_data[LOOP_PLACE_HOLDER].reverse.each_with_index do |e, i|
|
133
133
|
innards = [] if i == 0
|
134
134
|
obj_key = (each_key =~ /items_(.+)/i) ? each_key.gsub(/items_(.+)/i, $1).downcase : ''
|
135
|
-
|
135
|
+
innards << BLANK_ROW
|
136
136
|
if e[:choice]
|
137
137
|
if e[:choice].class == Array
|
138
138
|
e[:choice].reverse.each do |c|
|
139
|
-
innards << generate_each_paragraph(@items_cache[cache_key]
|
139
|
+
innards << generate_each_paragraph(@items_cache[cache_key], each_key, safe(c))
|
140
140
|
end
|
141
141
|
else
|
142
|
-
innards << generate_each_paragraph(@items_cache[cache_key]
|
142
|
+
innards << generate_each_paragraph(@items_cache[cache_key], each_key, safe(e[:choice]))
|
143
143
|
end
|
144
144
|
end
|
145
145
|
innards << generate_each_paragraph(@items_cache[cache_key], each_key, safe(e[obj_key.to_sym]))
|
@@ -170,6 +170,8 @@ module DocxTemplater
|
|
170
170
|
|
171
171
|
BLANK_ROW = "<w:tr w:rsidR=\"00D779AB\" w:rsidTr=\"00B812D2\">\n <w:tc>\n <w:tcPr>\n <w:tcW w:w=\"8522\" w:type=\"dxa\"/>\n </w:tcPr>\n <w:p w:rsidR=\"00D779AB\" w:rsidRDefault=\"00D779AB\" w:rsidP=\"00C44DF6\">\n <w:pPr>\n <w:rPr>\n <w:rFonts w:hint=\"eastAsia\"/>\n </w:rPr>\n </w:pPr>\n <w:r>\n <w:rPr>\n <w:rFonts w:hint=\"eastAsia\"/>\n </w:rPr>\n <w:t></w:t>\n </w:r>\n </w:p>\n </w:tc>\n </w:tr>"
|
172
172
|
|
173
|
+
TR_WRAPPER_ROW = '\n <w:tr w:rsidR="004D5284" w:rsidTr="004D5284">\n $text$ </w:tr>\n'
|
174
|
+
|
173
175
|
TEXT_ROW = '<w:r>
|
174
176
|
<w:rPr>
|
175
177
|
<w:rFonts w:hint="eastAsia"/>
|
data/spec/example_input/3.docx
CHANGED
Binary file
|