ndr_import 9.0.2 → 9.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|