ndr_import 8.5.1 → 8.5.2

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
  SHA256:
3
- metadata.gz: d8e9942cb20c52476a27af5b45a5bdb532171e7eb4cbf4b1d6cf40164623702a
4
- data.tar.gz: 4e67817d307c143c1dbd3f3dbf17798e8864f8f246149b91d73099763d28488f
3
+ metadata.gz: 66af1dbe18a160875b514f4b7c7bf259b6b43f0565d45beeccb87fd647a5983e
4
+ data.tar.gz: 0c2a1a0d00ab0371ef9b9d845487cd8e0b67137816b02cefbce7d554c4df6a32
5
5
  SHA512:
6
- metadata.gz: 9b36561a8c48c9626dff51913c96426cfa10904f31ba8867056f77e5752583b83080b55b23b5f0b30e74c095e91e08d6563ca1f7bf7f7ae265d03501cf384cbc
7
- data.tar.gz: a23881b758d08e34d0b82faa177a193402e50c0ea3373c575189f175af1bcd1e030ceeeacd3eb1a3e21b96b82c3aa8b5a1ee41d5f69aae53977609420b5cf139
6
+ metadata.gz: 93e749531fc2834866ecf83a16231b233b2800eab53a8ea1d663fa9525fc014a9f9a77b6fd93b43100fe34bbd2e435e3c77e6b4b5ce538927646ceb39c6551c1
7
+ data.tar.gz: d04b1fb034f37f6129213a1615bd7db360690ed1da9e9028990dc0bd70aeff0ac9211a2028912d89700c67907e03453d6b9cf2868b67194a450b9a14f48ca4e1
@@ -1,6 +1,11 @@
1
1
  ## [Unreleased]
2
2
  *no unreleased changes*
3
3
 
4
+ ## 8.5.2 / 2019-05-17
5
+ ### Fixed
6
+ * Fixed issue with `file_password` option key as a String or Symbol
7
+ * Tempfiles now take their encoding from the incoming string/stream
8
+
4
9
  ## 8.5.1 / 2019-05-15
5
10
  ### Added
6
11
  * Add data loader tools (#39)
@@ -19,7 +19,7 @@ file safety:
19
19
  CHANGELOG.md:
20
20
  comments:
21
21
  reviewed_by: josh.pencheon
22
- safe_revision: 730152642d4d08454d8aa2f76abe2eda086c077c
22
+ safe_revision: bd60b56117e65f106d7cb02e0c5772b9e5ec470e
23
23
  CODE_OF_CONDUCT.md:
24
24
  comments:
25
25
  reviewed_by: timgentry
@@ -94,8 +94,8 @@ file safety:
94
94
  safe_revision: 5cd2cd0b3a1e254d30d4acc28c6731825a1f84f5
95
95
  lib/ndr_import/file/base.rb:
96
96
  comments:
97
- reviewed_by: timgentry
98
- safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
97
+ reviewed_by: josh.pencheon
98
+ safe_revision: c3183e522bce50008df576ceb47fe4761ab8f966
99
99
  lib/ndr_import/file/delimited.rb:
100
100
  comments:
101
101
  reviewed_by: josh.pencheon
@@ -103,11 +103,11 @@ file safety:
103
103
  lib/ndr_import/file/docx.rb:
104
104
  comments:
105
105
  reviewed_by: josh.pencheon
106
- safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
106
+ safe_revision: 897f8b648d633368cf2001d17ab89c06a12d445b
107
107
  lib/ndr_import/file/excel.rb:
108
108
  comments:
109
109
  reviewed_by: josh.pencheon
110
- safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
110
+ safe_revision: c3183e522bce50008df576ceb47fe4761ab8f966
111
111
  lib/ndr_import/file/office_file_helper.rb:
112
112
  comments:
113
113
  reviewed_by: josh.pencheon
@@ -175,7 +175,7 @@ file safety:
175
175
  lib/ndr_import/mapper.rb:
176
176
  comments: Writes to a Tempfile, but cleans up. Ruby will respect TMP_DIR
177
177
  reviewed_by: josh.pencheon
178
- safe_revision: eca44583e9989159b45e90021dd1c65228447180
178
+ safe_revision: 897f8b648d633368cf2001d17ab89c06a12d445b
179
179
  lib/ndr_import/mapping_error.rb:
180
180
  comments:
181
181
  reviewed_by: timgentry
@@ -231,7 +231,7 @@ file safety:
231
231
  lib/ndr_import/version.rb:
232
232
  comments: another check?
233
233
  reviewed_by: josh.pencheon
234
- safe_revision: 730152642d4d08454d8aa2f76abe2eda086c077c
234
+ safe_revision: bd60b56117e65f106d7cb02e0c5772b9e5ec470e
235
235
  lib/ndr_import/xml/table.rb:
236
236
  comments:
237
237
  reviewed_by: josh.pencheon
@@ -543,7 +543,7 @@ file safety:
543
543
  test/universal_importer_helper_test.rb:
544
544
  comments:
545
545
  reviewed_by: josh.pencheon
546
- safe_revision: 3e3a852b58e8b169535e29029e535a10f6b9cd42
546
+ safe_revision: c3183e522bce50008df576ceb47fe4761ab8f966
547
547
  test/xml/table_test.rb:
548
548
  comments:
549
549
  reviewed_by: josh.pencheon
@@ -1,3 +1,4 @@
1
+ require 'active_support/core_ext/hash'
1
2
  require 'ndr_support/safe_file'
2
3
  require 'ndr_import/csv_library'
3
4
  require_relative 'registry'
@@ -11,7 +12,7 @@ module NdrImport
11
12
  def initialize(filename, format, options = {})
12
13
  @filename = filename
13
14
  @format = format
14
- @options = options
15
+ @options = options.stringify_keys
15
16
 
16
17
  validate_filename_is_safe_and_readable!
17
18
  end
@@ -17,7 +17,7 @@ module NdrImport
17
17
  def rows(&block)
18
18
  return enum_for(:rows) unless block
19
19
 
20
- send(@options.key?(:file_password) ? :decrypted_path : :unencrypted_path) do |path|
20
+ send(@options['file_password'] ? :decrypted_path : :unencrypted_path) do |path|
21
21
  doc = ::Docx::Document.open(path)
22
22
 
23
23
  doc.paragraphs.each do |p|
@@ -32,8 +32,9 @@ module NdrImport
32
32
 
33
33
  # This method returns the path to the temporary, decrypted file
34
34
  def decrypted_path
35
- Tempfile.create(['decrypted', '.docx']) do |file|
36
- file.write(decrypted_file_string(@filename, @options[:file_password]))
35
+ file_string = decrypted_file_string(@filename, @options['file_password'])
36
+ Tempfile.create(['decrypted', '.docx'], encoding: file_string.encoding) do |file|
37
+ file.write(file_string)
37
38
  file.close
38
39
 
39
40
  yield file.path
@@ -91,8 +91,8 @@ module NdrImport
91
91
  when '.xls'
92
92
  Roo::Excel.new(SafeFile.safepath_to_string(path))
93
93
  when '.xlsx'
94
- if @options.key?(:file_password)
95
- Roo::Excelx.new(StringIO.new(decrypted_file_string(path, @options[:file_password])))
94
+ if @options['file_password']
95
+ Roo::Excelx.new(StringIO.new(decrypted_file_string(path, @options['file_password'])))
96
96
  else
97
97
  Roo::Excelx.new(SafeFile.safepath_to_string(path))
98
98
  end
@@ -277,7 +277,7 @@ module NdrImport::Mapper
277
277
  end
278
278
 
279
279
  def read_docx(stream)
280
- Tempfile.create(encoding: 'ascii-8bit') do |tempfile|
280
+ Tempfile.create(encoding: stream.external_encoding) do |tempfile|
281
281
  tempfile.write(stream.read)
282
282
 
283
283
  docx = ::Docx::Document.open(tempfile.path)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  # This stores the current version of the NdrImport gem
3
3
  module NdrImport
4
- VERSION = '8.5.1'.freeze
4
+ VERSION = '8.5.2'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ndr_import
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.5.1
4
+ version: 8.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - NCRS Development Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-15 00:00:00.000000000 Z
11
+ date: 2019-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel