docx_replace 1.0.3 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +4 -1
- data/docx_replace.gemspec +1 -1
- data/lib/docx_replace/version.rb +1 -1
- data/lib/docx_replace.rb +4 -2
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ee126b52d09ab2872e47f070faa1e9e7baa4f1f76a86ec9eba52c23704dbe94a
|
4
|
+
data.tar.gz: faa97fc05a6be6a676851254d7f5a88b28624593dd3c808820b839c4e62799b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 160d31084d3fd572e2abe8c1fac61f00169cdf3ebe5bd07e5913ef18b3dc7c928e4583f7e9dad3171749471211c0d4cc34af16d3ac755ac17aa447723d92faf9
|
7
|
+
data.tar.gz: 22fc01dbfcd29592577924185b6690dd89a16002a5d511fa4a6dadfe05601bbc7822e58505444a0c551986f2251771b76ca3fc985181ac53254eecd82164716d
|
data/README.md
CHANGED
@@ -35,7 +35,10 @@ def user_report
|
|
35
35
|
doc.replace("$first_name$", @user.first_name)
|
36
36
|
doc.replace("$last_name$", @user.last_name)
|
37
37
|
doc.replace("$user_bio$", @user.bio)
|
38
|
-
|
38
|
+
|
39
|
+
# Replace multiple occurrences
|
40
|
+
doc.replace("$birth_date", @user.birth_date, true)
|
41
|
+
|
39
42
|
# Write the document back to a temporary file
|
40
43
|
tmp_file = Tempfile.new('word_tempate', "#{Rails.root}/tmp")
|
41
44
|
doc.commit(tmp_file.path)
|
data/docx_replace.gemspec
CHANGED
@@ -17,5 +17,5 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
18
18
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
19
19
|
gem.require_paths = ["lib"]
|
20
|
-
gem.add_runtime_dependency 'rubyzip', '~> 1.
|
20
|
+
gem.add_runtime_dependency 'rubyzip', '~> 1.2', '>= 1.2.1'
|
21
21
|
end
|
data/lib/docx_replace/version.rb
CHANGED
data/lib/docx_replace.rb
CHANGED
@@ -6,6 +6,8 @@ require 'tempfile'
|
|
6
6
|
|
7
7
|
module DocxReplace
|
8
8
|
class Doc
|
9
|
+
attr_reader :document_content
|
10
|
+
|
9
11
|
def initialize(path, temp_dir=nil)
|
10
12
|
@zip_file = Zip::File.new(path)
|
11
13
|
@temp_dir = temp_dir
|
@@ -13,7 +15,7 @@ module DocxReplace
|
|
13
15
|
end
|
14
16
|
|
15
17
|
def replace(pattern, replacement, multiple_occurrences=false)
|
16
|
-
replace = replacement.to_s
|
18
|
+
replace = replacement.to_s.encode(xml: :text)
|
17
19
|
if multiple_occurrences
|
18
20
|
@document_content.force_encoding("UTF-8").gsub!(pattern, replace)
|
19
21
|
else
|
@@ -68,7 +70,7 @@ module DocxReplace
|
|
68
70
|
path = new_path
|
69
71
|
end
|
70
72
|
FileUtils.mv(temp_file.path, path)
|
71
|
-
@zip_file = Zip::File.new(path)
|
73
|
+
@zip_file = Zip::File.new(path, true)
|
72
74
|
end
|
73
75
|
end
|
74
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docx_replace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Albrecht
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -16,20 +16,20 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.2'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.1
|
22
|
+
version: 1.2.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
29
|
+
version: '1.2'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.1
|
32
|
+
version: 1.2.1
|
33
33
|
description: Find and replace variables inside a Micorsoft Word (.docx) template
|
34
34
|
email:
|
35
35
|
- adam.albrecht@gmail.com
|
@@ -65,8 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '0'
|
67
67
|
requirements: []
|
68
|
-
|
69
|
-
rubygems_version: 2.2.2
|
68
|
+
rubygems_version: 3.0.3
|
70
69
|
signing_key:
|
71
70
|
specification_version: 4
|
72
71
|
summary: Find and replace variables inside a Micorsoft Word (.docx) template
|