docx_templater 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efdfa9bf0b9f3f9b8a839b56285c729d8446230d
4
- data.tar.gz: 63bc8a8a664adb5509451bd4f690b70681c2bf54
3
+ metadata.gz: b43a06deeb1c7fc85db078e94dbbc6cf011b21f9
4
+ data.tar.gz: c858a7009aa1db27f3172b1db7e47dc1dc76289f
5
5
  SHA512:
6
- metadata.gz: ef3e7e1aff9c4beaef794f52718dd976079d4da493b60281d88dc483fb8d750ea81db07add5209665fbedb0078601a373067b24888f26dec16786b6e8f1bf22a
7
- data.tar.gz: 2cb665bd5b4878dce85a6b4e1bb3825469ec84c61785f1309fbe8a700020edc4944ec1d94cfb65c0f71e1f1447e5a04e2dcbe85db1b4d9d3da5a5113de728c5f
6
+ metadata.gz: 5c205caac126aa5734f2b4680d2ea60103ca32c4c06781efe06929763f6a0f23857dbae5b61b22c56aa72611922cfbefbc5009e5ce84ac5c19dae34d400774cc
7
+ data.tar.gz: 1d2b0ae7333262e32963bac061f7a2471c0034eeb72a649cbef5fef33e6ff933028dea001ec7c053cd270d9356bb7b9fc580707c6b3961274eb48c4528702be1
@@ -0,0 +1,52 @@
1
+ module Docx
2
+ class NewlineReplacer
3
+ def initialize(doc)
4
+ @doc = doc
5
+ end
6
+
7
+ def replace
8
+ walk(doc.root)
9
+ end
10
+
11
+ private
12
+ attr_reader :doc
13
+
14
+ def walk(node)
15
+ node.children.each do |child|
16
+ replace_text_node_or_continue_walking(node, child)
17
+ end
18
+ end
19
+
20
+ def replace_text_node_or_continue_walking(node, child)
21
+ if child.node_type == :text
22
+ replace_text_node(node, child)
23
+ else
24
+ walk(child)
25
+ end
26
+ end
27
+
28
+ def replace_text_node(parent, node)
29
+ list_of_new_nodes(node).reverse.each do |new_node|
30
+ parent.insert_after(node, new_node)
31
+ end
32
+ node.remove
33
+ end
34
+
35
+ def line_break_node
36
+ br = REXML::Element.new('w:br')
37
+ end
38
+
39
+ def list_of_new_nodes(node)
40
+ node.to_s.split("\n")
41
+ .map{|str| str_to_text_node(str)}
42
+ .flat_map{ |txt| [txt, line_break_node] }[0..-2]
43
+ end
44
+
45
+ def str_to_text_node(str)
46
+ respect_whitespace = true
47
+ parent = nil
48
+ raw_text = true
49
+ REXML::Text.new(str, respect_whitespace, parent, raw_text)
50
+ end
51
+ end
52
+ end
metadata CHANGED
@@ -1,35 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docx_templater
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Smith
8
8
  - Michael Ries
9
9
  autorequire:
10
10
  bindir: bin
11
- cert_chain:
12
- - |
13
- -----BEGIN CERTIFICATE-----
14
- MIIDMDCCAhigAwIBAgIBADANBgkqhkiG9w0BAQUFADA+MRAwDgYDVQQDDAdtaWNo
15
- YWVsMRUwEwYKCZImiZPyLGQBGRYFcmllc2QxEzARBgoJkiaJk/IsZAEZFgNjb20w
16
- HhcNMTMwMjA0MjM1MzMwWhcNMTQwMjA0MjM1MzMwWjA+MRAwDgYDVQQDDAdtaWNo
17
- YWVsMRUwEwYKCZImiZPyLGQBGRYFcmllc2QxEzARBgoJkiaJk/IsZAEZFgNjb20w
18
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDFsVFKtZEYbY29KZTqudSh
19
- lACK/+uIuIabCr3r2QTNgCrJutM+uSCXQBgO+yMb/Z2qPmW99FHwB4G0vBn7sJS5
20
- 4JjfaLTiplTUa6YHs2g5N8XRmzJvVK5woXhxSQOjZ3GIBtBhDHqTiGBvVKjyx4Kk
21
- za6b3J2PfKkAxanaRgqnKerQ0CfIfdg8EBbO0SGhDYuDAn2gRD4T8Eqb9rWkW2RJ
22
- ddg5pAejNni4dMhNexqbnxjLjQW06DQ2sXeNcZ2FtMy6ffqbLVZDFYLJ5eyWxTrq
23
- P31tkHcB32HmP1f3VWW1gZ/xf9WH/hAvF5yB96Nbx670NVZd/yAJ+1xcUWtaKWl/
24
- AgMBAAGjOTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFGm8h9myjQDSVKZpu2t2ok49
25
- e6utMAsGA1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEAIXeXWgmWJQUohHgR
26
- 51Y5wKFR6I2AIbhn6WlhRqSNRt7y3/y1wTq8JSb30Mys12XWGbpPyw5DXDtd7lMW
27
- gtQ5dQ9AwKHv5a4YrEQ58DAup8NrbL/LPnK+fZl1PVprcOOYKe/KW7wyzvVI07tn
28
- dBtr3mifmnE1goVcm1lR2oWi/O8XIGDNLZTRpuqKM7Tla/OXBKHvELcs+gK6jlwE
29
- cEsfL281Yatwf7NyKwuhlnRFBKk6BETA5mCtpkV1/8qfya/aFNnvt8NcQ5YQYAME
30
- vrPQMiMiGzuc0M1gLGdEtyiKW8J0zoHYI+bsx2kpijE4YWQrGHRUVCoFRfR6c5Nd
31
- ZppDpQ==
32
- -----END CERTIFICATE-----
11
+ cert_chain: []
33
12
  date: 2012-08-03 00:00:00.000000000 Z
34
13
  dependencies:
35
14
  - !ruby/object:Gem::Dependency
@@ -98,10 +77,12 @@ files:
98
77
  - lib/docx_templater.rb
99
78
  - lib/docx/argument_combiner.rb
100
79
  - lib/docx/document_replacer.rb
80
+ - lib/docx/newline_replacer.rb
101
81
  - lib/docx/nodes_to_fix.rb
102
82
  - lib/docx/placeholder_observer.rb
103
83
  homepage: http://rubygems.org/gems/docx_templater
104
- licenses: []
84
+ licenses:
85
+ - MIT
105
86
  metadata: {}
106
87
  post_install_message:
107
88
  rdoc_options: []
checksums.yaml.gz.sig DELETED
Binary file
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
@@ -1,3 +0,0 @@
1
- �r-��\�E�������2
2
- ���I��������,,bյ�*.���*7Ө�E�m�kyΔP��B����_ ]K,h���p���8��5*J9�
3
- ��-<G0���B�U�$}I�7g�Zz�<������PAF�@�7�6+�(⢖����#���U����sJ�8�n���3��V���d��׭`^�`b6m�e��#����C������_��|y'ʅ���z�+:x{�_�*� S���T�l(�lծ���s���