ndr_import 9.0.2 → 9.0.3
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 +4 -4
- data/CHANGELOG.md +10 -0
- data/code_safety.yml +16 -12
- data/lib/ndr_import/csv_library.rb +2 -2
- data/lib/ndr_import/helpers/file/delimited.rb +2 -2
- data/lib/ndr_import/universal_importer_helper.rb +21 -1
- data/lib/ndr_import/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2237d88e9dee0141fe297fd2eb0d2e76f5434e9bb791fb667505193f30263014
|
4
|
+
data.tar.gz: 52746c16790c3da92e64ac14ed7d77786a41c5457ddc0b8190f52d4414e4c6d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b8793a45dea035b2abf04a44c20d2ec4fc90bcfef9c5dec4415fab26abdba2ff218b7d2996a165f3447f86046dfd558bfb363e21221f147fec3db9c7c83668c
|
7
|
+
data.tar.gz: eedb044185f1bc7e843e91e634fdc8b88cae9c026344d92e3cdc1046979873d843d476c7a0f7ebfb3c631901b47c9109b6826696124c56b07082ba4a6842af9c
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
*no unreleased changes*
|
3
3
|
|
4
|
+
## 9.0.3 / 2021-01-04
|
5
|
+
### Fixed
|
6
|
+
* Address issue importing multiple files against the same table (#54)
|
7
|
+
|
8
|
+
### Changed
|
9
|
+
* ensure keyword args are properly splatted for ruby 2.7
|
10
|
+
|
11
|
+
### Added
|
12
|
+
* Ruby 2.7 to travis matrix
|
13
|
+
|
4
14
|
## 9.0.2 / 2020-08-14
|
5
15
|
### Changed
|
6
16
|
* Configure Nokogiri with HUGE for large xml files
|
data/code_safety.yml
CHANGED
@@ -14,12 +14,12 @@ file safety:
|
|
14
14
|
safe_revision: b09e268ff9c8349b914aa1b7ba888e1d39f97e4a
|
15
15
|
".travis.yml":
|
16
16
|
comments:
|
17
|
-
reviewed_by:
|
18
|
-
safe_revision:
|
17
|
+
reviewed_by: ollietulloch
|
18
|
+
safe_revision: ed8513d290796b9cb9554c4ebe6e87ac21fbbeae
|
19
19
|
CHANGELOG.md:
|
20
20
|
comments:
|
21
21
|
reviewed_by: ollietulloch
|
22
|
-
safe_revision:
|
22
|
+
safe_revision: 92d2d9d56f17c143709e25560d7620aaf147008f
|
23
23
|
CODE_OF_CONDUCT.md:
|
24
24
|
comments:
|
25
25
|
reviewed_by: timgentry
|
@@ -146,8 +146,8 @@ file safety:
|
|
146
146
|
safe_revision: 24d6449fd0612552f132dfbf4cada2ae28d0469e
|
147
147
|
lib/ndr_import/csv_library.rb:
|
148
148
|
comments:
|
149
|
-
reviewed_by:
|
150
|
-
safe_revision:
|
149
|
+
reviewed_by: ollietulloch
|
150
|
+
safe_revision: acc72173b81702d55fe3aff78054425609a4d339
|
151
151
|
lib/ndr_import/file/acro_form.rb:
|
152
152
|
comments:
|
153
153
|
reviewed_by: josh.pencheon
|
@@ -214,8 +214,8 @@ file safety:
|
|
214
214
|
safe_revision: dfc958d44b6c58355445fa395db08a62213ee709
|
215
215
|
lib/ndr_import/helpers/file/delimited.rb:
|
216
216
|
comments:
|
217
|
-
reviewed_by:
|
218
|
-
safe_revision:
|
217
|
+
reviewed_by: ollietulloch
|
218
|
+
safe_revision: acc72173b81702d55fe3aff78054425609a4d339
|
219
219
|
lib/ndr_import/helpers/file/excel.rb:
|
220
220
|
comments:
|
221
221
|
reviewed_by: joshpencheon
|
@@ -291,8 +291,8 @@ file safety:
|
|
291
291
|
safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
|
292
292
|
lib/ndr_import/universal_importer_helper.rb:
|
293
293
|
comments:
|
294
|
-
reviewed_by:
|
295
|
-
safe_revision:
|
294
|
+
reviewed_by: ollietulloch
|
295
|
+
safe_revision: 830de0f8cb139c5f61525652b424423935cfc7ac
|
296
296
|
lib/ndr_import/unmapped_data_error.rb:
|
297
297
|
comments:
|
298
298
|
reviewed_by: josh.pencheon
|
@@ -300,7 +300,7 @@ file safety:
|
|
300
300
|
lib/ndr_import/version.rb:
|
301
301
|
comments: another check?
|
302
302
|
reviewed_by: ollietulloch
|
303
|
-
safe_revision:
|
303
|
+
safe_revision: 92d2d9d56f17c143709e25560d7620aaf147008f
|
304
304
|
lib/ndr_import/xml/table.rb:
|
305
305
|
comments:
|
306
306
|
reviewed_by: josh.pencheon
|
@@ -569,6 +569,10 @@ file safety:
|
|
569
569
|
comments:
|
570
570
|
reviewed_by: timgentry
|
571
571
|
safe_revision: 31fb1935f4578729d8786eea41cf0ce0a19be1cd
|
572
|
+
test/resources/two_files_single_table_mapping.zip:
|
573
|
+
comments:
|
574
|
+
reviewed_by: ollietulloch
|
575
|
+
safe_revision: 830de0f8cb139c5f61525652b424423935cfc7ac
|
572
576
|
test/resources/txt_file_xls_extension.xls:
|
573
577
|
comments:
|
574
578
|
reviewed_by: timgentry
|
@@ -619,8 +623,8 @@ file safety:
|
|
619
623
|
safe_revision: 93ccee82fc2165d1ca2d9b03d146ae03e769ea96
|
620
624
|
test/universal_importer_helper_test.rb:
|
621
625
|
comments:
|
622
|
-
reviewed_by:
|
623
|
-
safe_revision:
|
626
|
+
reviewed_by: ollietulloch
|
627
|
+
safe_revision: 830de0f8cb139c5f61525652b424423935cfc7ac
|
624
628
|
test/xml/table_test.rb:
|
625
629
|
comments:
|
626
630
|
reviewed_by: josh.pencheon
|
@@ -12,8 +12,8 @@ class << CSVLibrary
|
|
12
12
|
|
13
13
|
# Ensure that we can pass "mode" straight through the underlying IO object
|
14
14
|
def foreach(path, **options, &block)
|
15
|
-
return to_enum(__method__, path, options) unless block
|
16
|
-
open(path, options.delete(:mode) || 'r', options) do |csv|
|
15
|
+
return to_enum(__method__, path, **options) unless block
|
16
|
+
open(path, options.delete(:mode) || 'r', **options) do |csv|
|
17
17
|
csv.each(&block)
|
18
18
|
end
|
19
19
|
end
|
@@ -36,7 +36,7 @@ module NdrImport
|
|
36
36
|
|
37
37
|
# By now, we know `encodings` should let us read the whole
|
38
38
|
# file succesfully; if there are problems, we should crash.
|
39
|
-
CSVLibrary.foreach(safe_path, encodings) do |line|
|
39
|
+
CSVLibrary.foreach(safe_path, **encodings) do |line|
|
40
40
|
yield line.map(&:to_s)
|
41
41
|
end
|
42
42
|
end
|
@@ -73,7 +73,7 @@ module NdrImport
|
|
73
73
|
|
74
74
|
row_num = 0
|
75
75
|
# Iterate through the file; if we reach the end, this encoding worked:
|
76
|
-
CSVLibrary.foreach(safe_path, options) { |_line| row_num += 1 }
|
76
|
+
CSVLibrary.foreach(safe_path, **options) { |_line| row_num += 1 }
|
77
77
|
return options
|
78
78
|
rescue ArgumentError => e
|
79
79
|
next if e.message =~ /invalid byte sequence/ # This encoding didn't work
|
@@ -7,11 +7,31 @@ module NdrImport
|
|
7
7
|
# complexity of enumerating over files and tables (which should be universally useful).
|
8
8
|
# It is assumed that the host module/class defines `unzip_path`.
|
9
9
|
module UniversalImporterHelper
|
10
|
+
# Helper class to allow multiple source enumerators to contribute to one overall table.
|
11
|
+
class TableEnumProxy
|
12
|
+
include Enumerable
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
@table_enums = []
|
16
|
+
end
|
17
|
+
|
18
|
+
def add_table_enum(table_enum)
|
19
|
+
@table_enums << table_enum
|
20
|
+
end
|
21
|
+
|
22
|
+
def each(&block)
|
23
|
+
return enum_for(:each) unless block
|
24
|
+
|
25
|
+
@table_enums.each { |table_enum| table_enum.each(&block) }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
10
29
|
def table_enumerators(filename)
|
11
30
|
table_enumerators = {}
|
31
|
+
table_enumerators = Hash.new { |hash, key| hash[key] = TableEnumProxy.new }
|
12
32
|
|
13
33
|
extract(filename).each do |table, rows|
|
14
|
-
table_enumerators[table.canonical_name]
|
34
|
+
table_enumerators[table.canonical_name].add_table_enum table.transform(rows)
|
15
35
|
end
|
16
36
|
|
17
37
|
table_enumerators
|
data/lib/ndr_import/version.rb
CHANGED
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: 9.0.
|
4
|
+
version: 9.0.3
|
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:
|
11
|
+
date: 2021-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|