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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: dab91a42454bac7f4aab7f66f9e242c5af9ea431
4
- data.tar.gz: c570d2f4f0f99d061984c302ced071ea4adc2e5b
2
+ SHA256:
3
+ metadata.gz: ee126b52d09ab2872e47f070faa1e9e7baa4f1f76a86ec9eba52c23704dbe94a
4
+ data.tar.gz: faa97fc05a6be6a676851254d7f5a88b28624593dd3c808820b839c4e62799b4
5
5
  SHA512:
6
- metadata.gz: 435ab57fbb9b0797753767e1d6dc7b1f20980dcefea1a672305d4de63fb5d0c9c10d53b16fe60d3383f6a59b4d8365a449bb511aed58357763055ab2be34f90b
7
- data.tar.gz: 706d645075e5535d139f6a54eef6caecc02c7f03b5933a2ae1167c4eb912b2376a1f41bd8da7213ff5f10ddb9eaa7540715c8dcf2206510793914f70204c0734
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.1', '>= 1.1.6'
20
+ gem.add_runtime_dependency 'rubyzip', '~> 1.2', '>= 1.2.1'
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module DocxReplace
2
- VERSION = "1.0.3"
2
+ VERSION = "1.2.1"
3
3
  end
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.0.3
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: 2014-09-15 00:00:00.000000000 Z
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.1'
19
+ version: '1.2'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.1.6
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.1'
29
+ version: '1.2'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.1.6
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
- rubyforge_project:
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