ndr_import 10.1.1 → 10.1.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 +15 -1
- data/LICENSE.txt +1 -1
- data/README.md +5 -5
- data/lib/ndr_import/file/json_lines.rb +55 -0
- data/lib/ndr_import/non_tabular/table.rb +1 -1
- data/lib/ndr_import/table.rb +1 -1
- data/lib/ndr_import/version.rb +1 -1
- metadata +15 -34
- data/.github/CODEOWNERS +0 -2
- data/.github/workflows/lint.yml +0 -23
- data/.github/workflows/test.yml +0 -72
- data/.gitignore +0 -16
- data/.hound.yml +0 -10
- data/.rubocop.yml +0 -1
- data/Gemfile +0 -4
- data/Guardfile +0 -16
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/code_safety.yml +0 -671
- data/gemfiles/Gemfile.rails52 +0 -7
- data/gemfiles/Gemfile.rails60 +0 -5
- data/ndr_import.gemspec +0 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adf4468c5093398277008f08e3b4ff01619b0b39152dd7a604cccc863e7229f2
|
4
|
+
data.tar.gz: aa3225ff8384c7bc42f33251c2943060382b9c27dae6243fbe70c18796597fbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d437ffcdf6733d4d62859f3450f47a7067bc7155c93404c14b883b5b2cb45dd661d555146c6317d87be640ad7033b7d214c5be6842cd32009e8462a398105249
|
7
|
+
data.tar.gz: f7d10bf3ba7c1e16c75cb05585ff70d88dd56b00305b389752b5d5dec329d88f313454494307025b53cb02e1164c10a4328286b8c55220cdf506f5cf7bf4e094
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
## [Unreleased]
|
2
|
-
*
|
2
|
+
* No unreleased changes
|
3
|
+
|
4
|
+
## 10.1.3 / 2022-12-08
|
5
|
+
### Added
|
6
|
+
* JSON Lines file parser
|
7
|
+
* Test against Rails 6.1
|
8
|
+
* Support Ruby 3.1, Rails 7.0
|
9
|
+
|
10
|
+
### Changed
|
11
|
+
* Update Ruby/Rails supported versions. 2.7/6.0 is now minimum
|
12
|
+
|
13
|
+
## 10.1.2 / 2021-09-28
|
14
|
+
### Fixed
|
15
|
+
* Bump to `nokogiri` to address CVE-2021-41098
|
16
|
+
* Bump `seven_zip_ruby` requirement for Ruby 2.7 support
|
3
17
|
|
4
18
|
## 10.1.1 / 2021-03-15
|
5
19
|
### Fixed
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2011-
|
3
|
+
Copyright (c) 2011-2022 NHS Digital
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
# NdrImport [](https://github.com/NHSDigital/ndr_import/actions?query=workflow%3Atest) [](https://rubygems.org/gems/ndr_import) [](https://www.rubydoc.info/gems/ndr_import)
|
2
|
+
This is the NHS Digital (NHSD) National Disease Registers (NDR) Import ETL ruby gem, providing:
|
3
3
|
|
4
|
-
1. file import handlers for *extracting* data from delimited files (csv, pipe, tab, thorn), .xls(x) spreadsheets, .doc(x) word documents, PDF, PDF AcroForms, XML, 7-Zip and Zip files.
|
4
|
+
1. file import handlers for *extracting* data from delimited files (csv, pipe, tab, thorn), JSON Lines, .xls(x) spreadsheets, .doc(x) word documents, PDF, PDF AcroForms, XML, 7-Zip and Zip files.
|
5
5
|
2. table mappers for *transforming* tabular and non-tabular data into key value pairs grouped by a common "klass".
|
6
6
|
|
7
7
|
## Installation
|
@@ -49,7 +49,7 @@ end
|
|
49
49
|
|
50
50
|
See `test/readme_test.rb` for a more complete working example.
|
51
51
|
|
52
|
-
More information on the workings of the mapper are available in the [wiki](https://github.com/
|
52
|
+
More information on the workings of the mapper are available in the [wiki](https://github.com/NHSDigital/ndr_import/wiki).
|
53
53
|
|
54
54
|
## Development
|
55
55
|
|
@@ -59,7 +59,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
59
59
|
|
60
60
|
## Contributing
|
61
61
|
|
62
|
-
1. Fork it ( https://github.com/
|
62
|
+
1. Fork it ( https://github.com/NHSDigital/ndr_import/fork )
|
63
63
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
64
64
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
65
65
|
4. Push to the branch (`git push origin my-new-feature`)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'ndr_support/safe_file'
|
3
|
+
require 'ndr_support/utf8_encoding'
|
4
|
+
require_relative 'registry'
|
5
|
+
|
6
|
+
module NdrImport
|
7
|
+
# This is one of a collection of file handlers that deal with individual formats of data.
|
8
|
+
# They can be instantiated directly or via the factory method Registry.tables
|
9
|
+
module File
|
10
|
+
# This class is a JSON Lines file handler that returns a single "table" of JSON object "rows".
|
11
|
+
class JsonLines < Base
|
12
|
+
include UTF8Encoding
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def rows(&block)
|
17
|
+
return enum_for(:rows) unless block
|
18
|
+
|
19
|
+
# Encoding:
|
20
|
+
# As we're going to be yielding the parsed json lines of the file as it is streamed
|
21
|
+
# (rather than slurped in advance), we need to know which encoding / mode
|
22
|
+
# is going to work in advance.
|
23
|
+
#
|
24
|
+
path = SafeFile.safepath_to_string(@filename)
|
25
|
+
mode = read_mode_for(path)
|
26
|
+
|
27
|
+
# SECURE: TG 25 Oct 2021 SafeFile.safepath_to_string ensures that the path is SafePath.
|
28
|
+
::File.new(path, mode).each { |line| block.call JSON.parse(ensure_utf8!(line).chomp) }
|
29
|
+
rescue StandardError => e
|
30
|
+
raise "Failed to read #{SafeFile.basename(@filename)} as text [#{e.class}: #{e.message}]"
|
31
|
+
end
|
32
|
+
|
33
|
+
# TODO: In Ruby 2.0+, a mode of "rb:bom|utf-16:utf-8" seemed to fix all cases,
|
34
|
+
# but this doesn't work on Ruby 1.9.3, which we are currently still supporting.
|
35
|
+
# Therefore, we have to test multiple modes in advance, hence #read_mode_for.
|
36
|
+
def read_mode_for(trusted_path)
|
37
|
+
# These are the read modes we will try, in order:
|
38
|
+
modes = ['rb:utf-16:utf-8', 'r:utf-8']
|
39
|
+
|
40
|
+
begin
|
41
|
+
::File.new(trusted_path, modes.first).each do |_line|
|
42
|
+
# We're just making sure this doesn't raise an error
|
43
|
+
end
|
44
|
+
rescue Encoding::InvalidByteSequenceError
|
45
|
+
modes.shift # That one didn't work...
|
46
|
+
retry if modes.any?
|
47
|
+
end
|
48
|
+
|
49
|
+
modes.first || raise('Unable to determine working stream encoding!')
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
Registry.register(JsonLines, 'jsonl')
|
54
|
+
end
|
55
|
+
end
|
@@ -17,7 +17,7 @@ module NdrImport
|
|
17
17
|
include UTF8Encoding
|
18
18
|
|
19
19
|
TABULAR_ONLY_OPTIONS = %w[delimiter last_data_column liberal_parsing tablename_pattern
|
20
|
-
header_lines footer_lines xml_record_xpath].freeze
|
20
|
+
header_lines footer_lines xml_record_xpath slurp].freeze
|
21
21
|
|
22
22
|
NON_TABULAR_OPTIONS = %w[capture_end_line capture_start_line start_line_pattern
|
23
23
|
end_line_pattern remove_lines start_in_a_record
|
data/lib/ndr_import/table.rb
CHANGED
@@ -11,7 +11,7 @@ module NdrImport
|
|
11
11
|
|
12
12
|
def self.all_valid_options
|
13
13
|
%w[canonical_name delimiter liberal_parsing filename_pattern file_password last_data_column
|
14
|
-
tablename_pattern header_lines footer_lines format klass columns xml_record_xpath
|
14
|
+
tablename_pattern header_lines footer_lines format klass columns xml_record_xpath slurp
|
15
15
|
row_identifier]
|
16
16
|
end
|
17
17
|
|
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: 10.1.
|
4
|
+
version: 10.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NCRS Development Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -30,20 +30,20 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '6.0'
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: '7'
|
36
|
+
version: '7.1'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
43
|
+
version: '6.0'
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '7'
|
46
|
+
version: '7.1'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: ndr_support
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,14 +188,14 @@ dependencies:
|
|
188
188
|
requirements:
|
189
189
|
- - "~>"
|
190
190
|
- !ruby/object:Gem::Version
|
191
|
-
version: '1.
|
191
|
+
version: '1.3'
|
192
192
|
type: :runtime
|
193
193
|
prerelease: false
|
194
194
|
version_requirements: !ruby/object:Gem::Requirement
|
195
195
|
requirements:
|
196
196
|
- - "~>"
|
197
197
|
- !ruby/object:Gem::Version
|
198
|
-
version: '1.
|
198
|
+
version: '1.3'
|
199
199
|
- !ruby/object:Gem::Dependency
|
200
200
|
name: spreadsheet
|
201
201
|
requirement: !ruby/object:Gem::Requirement
|
@@ -228,9 +228,6 @@ dependencies:
|
|
228
228
|
name: rake
|
229
229
|
requirement: !ruby/object:Gem::Requirement
|
230
230
|
requirements:
|
231
|
-
- - "~>"
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version: '12.3'
|
234
231
|
- - ">="
|
235
232
|
- !ruby/object:Gem::Version
|
236
233
|
version: 12.3.3
|
@@ -238,9 +235,6 @@ dependencies:
|
|
238
235
|
prerelease: false
|
239
236
|
version_requirements: !ruby/object:Gem::Requirement
|
240
237
|
requirements:
|
241
|
-
- - "~>"
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '12.3'
|
244
238
|
- - ">="
|
245
239
|
- !ruby/object:Gem::Version
|
246
240
|
version: 12.3.3
|
@@ -365,27 +359,14 @@ executables:
|
|
365
359
|
extensions: []
|
366
360
|
extra_rdoc_files: []
|
367
361
|
files:
|
368
|
-
- ".github/CODEOWNERS"
|
369
|
-
- ".github/workflows/lint.yml"
|
370
|
-
- ".github/workflows/test.yml"
|
371
|
-
- ".gitignore"
|
372
|
-
- ".hound.yml"
|
373
|
-
- ".rubocop.yml"
|
374
362
|
- CHANGELOG.md
|
375
363
|
- CODE_OF_CONDUCT.md
|
376
|
-
- Gemfile
|
377
|
-
- Guardfile
|
378
364
|
- LICENSE.txt
|
379
365
|
- README.md
|
380
366
|
- Rakefile
|
381
|
-
- bin/console
|
382
|
-
- bin/setup
|
383
|
-
- code_safety.yml
|
384
367
|
- exe/pdf_acro_form_to_yaml
|
385
368
|
- exe/pdf_to_text
|
386
369
|
- exe/word_to_text
|
387
|
-
- gemfiles/Gemfile.rails52
|
388
|
-
- gemfiles/Gemfile.rails60
|
389
370
|
- lib/ndr_import.rb
|
390
371
|
- lib/ndr_import/acroform_reader.rb
|
391
372
|
- lib/ndr_import/csv_library.rb
|
@@ -395,6 +376,7 @@ files:
|
|
395
376
|
- lib/ndr_import/file/delimited.rb
|
396
377
|
- lib/ndr_import/file/docx.rb
|
397
378
|
- lib/ndr_import/file/excel.rb
|
379
|
+
- lib/ndr_import/file/json_lines.rb
|
398
380
|
- lib/ndr_import/file/office_file_helper.rb
|
399
381
|
- lib/ndr_import/file/pdf.rb
|
400
382
|
- lib/ndr_import/file/registry.rb
|
@@ -429,12 +411,11 @@ files:
|
|
429
411
|
- lib/ndr_import/version.rb
|
430
412
|
- lib/ndr_import/xml/control_char_escaper.rb
|
431
413
|
- lib/ndr_import/xml/table.rb
|
432
|
-
|
433
|
-
homepage: https://github.com/PublicHealthEngland/ndr_import
|
414
|
+
homepage: https://github.com/NHSDigital/ndr_import
|
434
415
|
licenses:
|
435
416
|
- MIT
|
436
417
|
metadata: {}
|
437
|
-
post_install_message:
|
418
|
+
post_install_message:
|
438
419
|
rdoc_options: []
|
439
420
|
require_paths:
|
440
421
|
- lib
|
@@ -442,15 +423,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
442
423
|
requirements:
|
443
424
|
- - ">="
|
444
425
|
- !ruby/object:Gem::Version
|
445
|
-
version: '2.
|
426
|
+
version: '2.7'
|
446
427
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
447
428
|
requirements:
|
448
429
|
- - ">="
|
449
430
|
- !ruby/object:Gem::Version
|
450
431
|
version: '0'
|
451
432
|
requirements: []
|
452
|
-
rubygems_version: 3.
|
453
|
-
signing_key:
|
433
|
+
rubygems_version: 3.3.26
|
434
|
+
signing_key:
|
454
435
|
specification_version: 4
|
455
436
|
summary: NDR Import
|
456
437
|
test_files: []
|
data/.github/CODEOWNERS
DELETED
data/.github/workflows/lint.yml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
name: Lint
|
2
|
-
|
3
|
-
on: [pull_request]
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
rubocop:
|
7
|
-
name: RuboCop
|
8
|
-
|
9
|
-
runs-on: ubuntu-latest
|
10
|
-
|
11
|
-
steps:
|
12
|
-
- uses: actions/checkout@v2
|
13
|
-
with:
|
14
|
-
fetch-depth: 0 # fetch everything
|
15
|
-
- name: Set up Ruby
|
16
|
-
uses: ruby/setup-ruby@v1
|
17
|
-
with:
|
18
|
-
ruby-version: 3.0
|
19
|
-
- name: Install dependencies
|
20
|
-
run: bundle install
|
21
|
-
- name: Run RuboCop against BASE..HEAD changes
|
22
|
-
run: bundle exec rake rubocop:diff origin/${GITHUB_BASE_REF#*/}
|
23
|
-
|
data/.github/workflows/test.yml
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
name: Test
|
2
|
-
|
3
|
-
on: [push]
|
4
|
-
|
5
|
-
jobs:
|
6
|
-
test:
|
7
|
-
strategy:
|
8
|
-
fail-fast: false
|
9
|
-
matrix:
|
10
|
-
ruby-version:
|
11
|
-
- 2.6
|
12
|
-
- 2.7
|
13
|
-
- 3.0
|
14
|
-
gemfile:
|
15
|
-
- gemfiles/Gemfile.rails52
|
16
|
-
- gemfiles/Gemfile.rails60
|
17
|
-
|
18
|
-
name: Ruby ${{ matrix.ruby-version }} / Bundle ${{ matrix.gemfile }}
|
19
|
-
|
20
|
-
runs-on: ubuntu-latest
|
21
|
-
|
22
|
-
env:
|
23
|
-
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
24
|
-
|
25
|
-
steps:
|
26
|
-
- uses: actions/checkout@v2
|
27
|
-
- name: Set up Ruby
|
28
|
-
uses: ruby/setup-ruby@v1
|
29
|
-
with:
|
30
|
-
ruby-version: ${{ matrix.ruby-version }}
|
31
|
-
- name: Install dependencies
|
32
|
-
run: bundle install
|
33
|
-
- name: Run tests
|
34
|
-
run: bundle exec rake
|
35
|
-
|
36
|
-
# A utility job upon which Branch Protection can depend,
|
37
|
-
# thus remaining agnostic of the matrix.
|
38
|
-
test_matrix:
|
39
|
-
if: ${{ always() }}
|
40
|
-
runs-on: ubuntu-latest
|
41
|
-
name: Matrix
|
42
|
-
needs: test
|
43
|
-
steps:
|
44
|
-
- name: Check build matrix status
|
45
|
-
if: ${{ needs.test.result != 'success' }}
|
46
|
-
run: exit 1
|
47
|
-
|
48
|
-
notify:
|
49
|
-
# Run only on master, but regardless of whether tests past:
|
50
|
-
if: ${{ always() && github.ref == 'refs/heads/master' }}
|
51
|
-
|
52
|
-
needs: test_matrix
|
53
|
-
|
54
|
-
runs-on: ubuntu-latest
|
55
|
-
|
56
|
-
steps:
|
57
|
-
- uses: 8398a7/action-slack@v3
|
58
|
-
with:
|
59
|
-
status: custom
|
60
|
-
fields: workflow,commit,author
|
61
|
-
custom_payload: |
|
62
|
-
{
|
63
|
-
channel: 'C7FQWGDHP',
|
64
|
-
username: 'CI – ' + '${{ github.repository }}'.split('/')[1],
|
65
|
-
icon_emoji: ':hammer_and_wrench:',
|
66
|
-
attachments: [{
|
67
|
-
color: '${{ needs.test_matrix.result }}' === 'success' ? 'good' : '${{ needs.test_matrix.result }}' === 'failure' ? 'danger' : 'warning',
|
68
|
-
text: `${process.env.AS_WORKFLOW} against \`${{ github.ref }}\` (${process.env.AS_COMMIT}) for ${{ github.actor }} resulted in *${{ needs.test_matrix.result }}*.`
|
69
|
-
}]
|
70
|
-
}
|
71
|
-
env:
|
72
|
-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
data/.gitignore
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
/.rubocop-https---raw-githubusercontent-com-PublicHealthEngland-ndr-dev-support-master--rubocop-yml
|
2
|
-
/.bundle/
|
3
|
-
/.yardoc
|
4
|
-
/Gemfile.lock
|
5
|
-
/gemfiles/Gemfile.*.lock
|
6
|
-
/_yardoc/
|
7
|
-
/coverage/
|
8
|
-
/docs/_site/
|
9
|
-
/pkg/
|
10
|
-
/spec/reports/
|
11
|
-
/tmp/
|
12
|
-
*.bundle
|
13
|
-
*.so
|
14
|
-
*.o
|
15
|
-
*.a
|
16
|
-
mkmf.log
|
data/.hound.yml
DELETED
data/.rubocop.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
inherit_from: 'https://raw.githubusercontent.com/PublicHealthEngland/ndr_dev_support/master/.rubocop.yml'
|
data/Gemfile
DELETED
data/Guardfile
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# A sample Guardfile
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
3
|
-
|
4
|
-
# automatically check Ruby code style with Rubocop when files are modified
|
5
|
-
guard :rubocop, :all_on_start => false, :keep_failed => false do
|
6
|
-
watch(/.+\.rb$/)
|
7
|
-
watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
|
8
|
-
end
|
9
|
-
|
10
|
-
guard :test do
|
11
|
-
watch(%r{^test/.+_test\.rb$})
|
12
|
-
watch('test/test_helper.rb') { 'test' }
|
13
|
-
|
14
|
-
# Non-rails
|
15
|
-
watch(%r{^lib/ndr_import/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
|
16
|
-
end
|
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'bundler/setup'
|
4
|
-
require 'ndr_import'
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require 'irb'
|
14
|
-
IRB.start(__FILE__)
|
data/bin/setup
DELETED
data/code_safety.yml
DELETED
@@ -1,671 +0,0 @@
|
|
1
|
-
---
|
2
|
-
file safety:
|
3
|
-
".github/CODEOWNERS":
|
4
|
-
comments:
|
5
|
-
reviewed_by: ollietulloch
|
6
|
-
safe_revision: b64ff21375dcde2b8fefe622ee9861f0fea21487
|
7
|
-
".github/workflows/lint.yml":
|
8
|
-
comments:
|
9
|
-
reviewed_by: ollietulloch
|
10
|
-
safe_revision: b64ff21375dcde2b8fefe622ee9861f0fea21487
|
11
|
-
".github/workflows/test.yml":
|
12
|
-
comments:
|
13
|
-
reviewed_by: ollietulloch
|
14
|
-
safe_revision: b64ff21375dcde2b8fefe622ee9861f0fea21487
|
15
|
-
".gitignore":
|
16
|
-
comments: whole file re-reviewed
|
17
|
-
reviewed_by: josh.pencheon
|
18
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
19
|
-
".hound.yml":
|
20
|
-
comments:
|
21
|
-
reviewed_by: timgentry
|
22
|
-
safe_revision: df3c0be0e655f4fc95c86d4a57bda6eef1fb8955
|
23
|
-
".rubocop.yml":
|
24
|
-
comments:
|
25
|
-
reviewed_by: josh.pencheon
|
26
|
-
safe_revision: b09e268ff9c8349b914aa1b7ba888e1d39f97e4a
|
27
|
-
CHANGELOG.md:
|
28
|
-
comments:
|
29
|
-
reviewed_by: josh.pencheon
|
30
|
-
safe_revision: 47fa3633ec2e48f1ee9fb12aad03e817e73c54bf
|
31
|
-
CODE_OF_CONDUCT.md:
|
32
|
-
comments:
|
33
|
-
reviewed_by: timgentry
|
34
|
-
safe_revision: 5d185a0aeba6a9cd2ff5e59efadcaeec9be45d8b
|
35
|
-
Gemfile:
|
36
|
-
comments:
|
37
|
-
reviewed_by: josh.pencheon
|
38
|
-
safe_revision: 13a1fae896c9d2b3fbe99a71d52045476f25b425
|
39
|
-
Guardfile:
|
40
|
-
comments:
|
41
|
-
reviewed_by: timgentry
|
42
|
-
safe_revision: fb1f4a97327f426cc73a6ebdc4f1089caae98e93
|
43
|
-
LICENSE.txt:
|
44
|
-
comments:
|
45
|
-
reviewed_by: timgentry
|
46
|
-
safe_revision: 5d185a0aeba6a9cd2ff5e59efadcaeec9be45d8b
|
47
|
-
README.md:
|
48
|
-
comments:
|
49
|
-
reviewed_by: ollietulloch
|
50
|
-
safe_revision: b64ff21375dcde2b8fefe622ee9861f0fea21487
|
51
|
-
Rakefile:
|
52
|
-
comments:
|
53
|
-
reviewed_by: josh.pencheon
|
54
|
-
safe_revision: 5a7f26cecaabab20f4e666776f9166dcc3fa6bfe
|
55
|
-
bin/console:
|
56
|
-
comments:
|
57
|
-
reviewed_by: josh.pencheon
|
58
|
-
safe_revision: e1d967c10059e8c635452838c3f3dd2b969d9ae4
|
59
|
-
bin/setup:
|
60
|
-
comments:
|
61
|
-
reviewed_by: josh.pencheon
|
62
|
-
safe_revision: e1d967c10059e8c635452838c3f3dd2b969d9ae4
|
63
|
-
docs/Gemfile:
|
64
|
-
comments:
|
65
|
-
reviewed_by: josh.pencheon
|
66
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
67
|
-
docs/Gemfile.lock:
|
68
|
-
comments:
|
69
|
-
reviewed_by: ollietulloch
|
70
|
-
safe_revision: ea0149c7739676463a252ffd9fbe4af238762b2b
|
71
|
-
docs/_config.yml:
|
72
|
-
comments:
|
73
|
-
reviewed_by: josh.pencheon
|
74
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
75
|
-
docs/_includes/footer.html:
|
76
|
-
comments:
|
77
|
-
reviewed_by: josh.pencheon
|
78
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
79
|
-
docs/_includes/header.html:
|
80
|
-
comments:
|
81
|
-
reviewed_by: josh.pencheon
|
82
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
83
|
-
docs/capturing-data.md:
|
84
|
-
comments:
|
85
|
-
reviewed_by: josh.pencheon
|
86
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
87
|
-
docs/date-formats.md:
|
88
|
-
comments:
|
89
|
-
reviewed_by: josh.pencheon
|
90
|
-
safe_revision: fa21d6d967bf132800b456b585795beec80b08a3
|
91
|
-
docs/getting-started.md:
|
92
|
-
comments:
|
93
|
-
reviewed_by: josh.pencheon
|
94
|
-
safe_revision: fa21d6d967bf132800b456b585795beec80b08a3
|
95
|
-
docs/identifying-and-splitting-records.md:
|
96
|
-
comments:
|
97
|
-
reviewed_by: josh.pencheon
|
98
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
99
|
-
docs/inbuilt-cleaning-methods.md:
|
100
|
-
comments:
|
101
|
-
reviewed_by: josh.pencheon
|
102
|
-
safe_revision: 694b57ce14e0709fc4d31a1357f8416e98f5de91
|
103
|
-
docs/index.md:
|
104
|
-
comments:
|
105
|
-
reviewed_by: josh.pencheon
|
106
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
107
|
-
docs/local-code-transformation-in-yaml-mappings.md:
|
108
|
-
comments:
|
109
|
-
reviewed_by: josh.pencheon
|
110
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
111
|
-
docs/non-tabular-mappings.md:
|
112
|
-
comments:
|
113
|
-
reviewed_by: josh.pencheon
|
114
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
115
|
-
docs/priority-field-mapping.md:
|
116
|
-
comments:
|
117
|
-
reviewed_by: josh.pencheon
|
118
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
119
|
-
docs/standard-yaml-mappings.md:
|
120
|
-
comments:
|
121
|
-
reviewed_by: josh.pencheon
|
122
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
123
|
-
docs/yaml-mapping-user-guide.md:
|
124
|
-
comments:
|
125
|
-
reviewed_by: josh.pencheon
|
126
|
-
safe_revision: 02aaf91b116c510a7c16f2b6f2389736b2742f49
|
127
|
-
exe/pdf_acro_form_to_yaml:
|
128
|
-
comments:
|
129
|
-
reviewed_by: josh.pencheon
|
130
|
-
safe_revision: e1d967c10059e8c635452838c3f3dd2b969d9ae4
|
131
|
-
exe/pdf_to_text:
|
132
|
-
comments:
|
133
|
-
reviewed_by: josh.pencheon
|
134
|
-
safe_revision: e1d967c10059e8c635452838c3f3dd2b969d9ae4
|
135
|
-
exe/word_to_text:
|
136
|
-
comments:
|
137
|
-
reviewed_by: josh.pencheon
|
138
|
-
safe_revision: e1d967c10059e8c635452838c3f3dd2b969d9ae4
|
139
|
-
gemfiles/Gemfile.rails52:
|
140
|
-
comments:
|
141
|
-
reviewed_by: josh.pencheon
|
142
|
-
safe_revision: 13a1fae896c9d2b3fbe99a71d52045476f25b425
|
143
|
-
gemfiles/Gemfile.rails60:
|
144
|
-
comments:
|
145
|
-
reviewed_by: josh.pencheon
|
146
|
-
safe_revision: d3d9a987befeecb122a448d8d06e66d74da13fb5
|
147
|
-
lib/ndr_import.rb:
|
148
|
-
comments:
|
149
|
-
reviewed_by: josh.pencheon
|
150
|
-
safe_revision: 24d6449fd0612552f132dfbf4cada2ae28d0469e
|
151
|
-
lib/ndr_import/acroform_reader.rb:
|
152
|
-
comments:
|
153
|
-
reviewed_by: josh.pencheon
|
154
|
-
safe_revision: 24d6449fd0612552f132dfbf4cada2ae28d0469e
|
155
|
-
lib/ndr_import/csv_library.rb:
|
156
|
-
comments:
|
157
|
-
reviewed_by: ollietulloch
|
158
|
-
safe_revision: 6b8668967dbd42d7893a0fa5f0aa1ec1c11227e1
|
159
|
-
lib/ndr_import/file/acro_form.rb:
|
160
|
-
comments:
|
161
|
-
reviewed_by: josh.pencheon
|
162
|
-
safe_revision: 8a6ea666616c5b5d7c93cdf5aa019e8fc69d19e1
|
163
|
-
lib/ndr_import/file/all.rb:
|
164
|
-
comments:
|
165
|
-
reviewed_by: josh.pencheon
|
166
|
-
safe_revision: 5cd2cd0b3a1e254d30d4acc28c6731825a1f84f5
|
167
|
-
lib/ndr_import/file/base.rb:
|
168
|
-
comments:
|
169
|
-
reviewed_by: josh.pencheon
|
170
|
-
safe_revision: c3183e522bce50008df576ceb47fe4761ab8f966
|
171
|
-
lib/ndr_import/file/delimited.rb:
|
172
|
-
comments:
|
173
|
-
reviewed_by: josh.pencheon
|
174
|
-
safe_revision: 607c0668f1fffd70d181bc1a31c4f56eed5f6189
|
175
|
-
lib/ndr_import/file/docx.rb:
|
176
|
-
comments:
|
177
|
-
reviewed_by: josh.pencheon
|
178
|
-
safe_revision: 897f8b648d633368cf2001d17ab89c06a12d445b
|
179
|
-
lib/ndr_import/file/excel.rb:
|
180
|
-
comments:
|
181
|
-
reviewed_by: ollietulloch
|
182
|
-
safe_revision: 37482c79448bea80033f6f69d97584df330c9861
|
183
|
-
lib/ndr_import/file/office_file_helper.rb:
|
184
|
-
comments:
|
185
|
-
reviewed_by: josh.pencheon
|
186
|
-
safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
|
187
|
-
lib/ndr_import/file/pdf.rb:
|
188
|
-
comments:
|
189
|
-
reviewed_by: timgentry
|
190
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
191
|
-
lib/ndr_import/file/registry.rb:
|
192
|
-
comments:
|
193
|
-
reviewed_by: josh.pencheon
|
194
|
-
safe_revision: 2104514689a1a1286195fff18144a8cecb93048b
|
195
|
-
lib/ndr_import/file/seven_zip.rb:
|
196
|
-
comments:
|
197
|
-
reviewed_by: josh.pencheon
|
198
|
-
safe_revision: f2feb0c430947839183d7223e60e7c29b2c0f846
|
199
|
-
lib/ndr_import/file/text.rb:
|
200
|
-
comments:
|
201
|
-
reviewed_by: josh.pencheon
|
202
|
-
safe_revision: dfe367e64c6e0ff80495cd7989fc50311d5b258f
|
203
|
-
lib/ndr_import/file/unregistered_filetype.rb:
|
204
|
-
comments:
|
205
|
-
reviewed_by: josh.pencheon
|
206
|
-
safe_revision: 2104514689a1a1286195fff18144a8cecb93048b
|
207
|
-
lib/ndr_import/file/word.rb:
|
208
|
-
comments:
|
209
|
-
reviewed_by: timgentry
|
210
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
211
|
-
lib/ndr_import/file/xml.rb:
|
212
|
-
comments:
|
213
|
-
reviewed_by: josh.pencheon
|
214
|
-
safe_revision: ae75fb49baf028ac8ce08e4bedcd3625ff3ff0cd
|
215
|
-
lib/ndr_import/file/zip.rb:
|
216
|
-
comments:
|
217
|
-
reviewed_by: timgentry
|
218
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
219
|
-
lib/ndr_import/fixed_width/table.rb:
|
220
|
-
comments:
|
221
|
-
reviewed_by: ollie.tulloch
|
222
|
-
safe_revision: dfc958d44b6c58355445fa395db08a62213ee709
|
223
|
-
lib/ndr_import/helpers/file/delimited.rb:
|
224
|
-
comments:
|
225
|
-
reviewed_by: ollietulloch
|
226
|
-
safe_revision: 4a5cc1d362c632fc1f9242c69982fbce33557e17
|
227
|
-
lib/ndr_import/helpers/file/excel.rb:
|
228
|
-
comments:
|
229
|
-
reviewed_by: joshpencheon
|
230
|
-
safe_revision: 06fd16643d02957ce856728e4911143c8e0178dc
|
231
|
-
lib/ndr_import/helpers/file/pdf.rb:
|
232
|
-
comments:
|
233
|
-
reviewed_by: timgentry
|
234
|
-
safe_revision: 3757fece40192a335c2d7d9290f2e4e9eed43619
|
235
|
-
lib/ndr_import/helpers/file/word.rb:
|
236
|
-
comments:
|
237
|
-
reviewed_by: timgentry
|
238
|
-
safe_revision: 45da71ebd3acbc0fe53755bcd75483ba17cb6924
|
239
|
-
lib/ndr_import/helpers/file/xml.rb:
|
240
|
-
comments:
|
241
|
-
reviewed_by: josh.pencheon
|
242
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
243
|
-
lib/ndr_import/helpers/file/xml_streaming.rb:
|
244
|
-
comments: uses SafePath and Shellwords when accessing filesystem, or making system
|
245
|
-
calls
|
246
|
-
reviewed_by: josh.pencheon
|
247
|
-
safe_revision: 55e502bb4445cb8b985e530e8eb26d92b574ded9
|
248
|
-
lib/ndr_import/helpers/file/zip.rb:
|
249
|
-
comments:
|
250
|
-
reviewed_by: timgentry
|
251
|
-
safe_revision: 6c6f204fab2f4232d81cb76aa523c26b0c490ae7
|
252
|
-
lib/ndr_import/mapper.rb:
|
253
|
-
comments: Writes to a Tempfile, but cleans up. Ruby will respect TMP_DIR
|
254
|
-
reviewed_by: josh.pencheon
|
255
|
-
safe_revision: 897f8b648d633368cf2001d17ab89c06a12d445b
|
256
|
-
lib/ndr_import/mapping_error.rb:
|
257
|
-
comments:
|
258
|
-
reviewed_by: timgentry
|
259
|
-
safe_revision: 96ccc535bb9f933081dfc73bf0442b32b6bdce1d
|
260
|
-
lib/ndr_import/missing_field_error.rb:
|
261
|
-
comments:
|
262
|
-
reviewed_by: josh.pencheon
|
263
|
-
safe_revision: eca44583e9989159b45e90021dd1c65228447180
|
264
|
-
lib/ndr_import/non_tabular/column_mapping.rb:
|
265
|
-
comments:
|
266
|
-
reviewed_by: josh.pencheon
|
267
|
-
safe_revision: bb44ade56a2151706eede2c31142440ccf49e6f6
|
268
|
-
lib/ndr_import/non_tabular/line.rb:
|
269
|
-
comments:
|
270
|
-
reviewed_by: timgentry
|
271
|
-
safe_revision: ac30f66578ab380649be800a4426d917ddbcb329
|
272
|
-
lib/ndr_import/non_tabular/mapping.rb:
|
273
|
-
comments:
|
274
|
-
reviewed_by: timgentry
|
275
|
-
safe_revision: cf382902508a21a95b80ac4582fbbd117164e80e
|
276
|
-
lib/ndr_import/non_tabular/record.rb:
|
277
|
-
comments:
|
278
|
-
reviewed_by: josh.pencheon
|
279
|
-
safe_revision: bb44ade56a2151706eede2c31142440ccf49e6f6
|
280
|
-
lib/ndr_import/non_tabular/table.rb:
|
281
|
-
comments:
|
282
|
-
reviewed_by: josh.pencheon
|
283
|
-
safe_revision: f9df064adcfd38f09d83ad8c5496c84188faed98
|
284
|
-
lib/ndr_import/non_tabular_file_helper.rb:
|
285
|
-
comments:
|
286
|
-
reviewed_by: josh.pencheon
|
287
|
-
safe_revision: ac30f66578ab380649be800a4426d917ddbcb329
|
288
|
-
lib/ndr_import/pdf_form/table.rb:
|
289
|
-
comments:
|
290
|
-
reviewed_by: josh.pencheon
|
291
|
-
safe_revision: 5fd247eeb13a3f1356ab2d76ac9fabf9e19d5d36
|
292
|
-
lib/ndr_import/standard_mappings.rb:
|
293
|
-
comments:
|
294
|
-
reviewed_by: josh.pencheon
|
295
|
-
safe_revision: 3c7f827d17aacbf7b811eea67e27553f3b039070
|
296
|
-
lib/ndr_import/table.rb:
|
297
|
-
comments: uses File.basename
|
298
|
-
reviewed_by: josh.pencheon
|
299
|
-
safe_revision: 3cf7473181f7f835b3dfe7822f6833d751805eaf
|
300
|
-
lib/ndr_import/universal_importer_helper.rb:
|
301
|
-
comments:
|
302
|
-
reviewed_by: josh.pencheon
|
303
|
-
safe_revision: 85869d99ae93252b7f3ef2d0a4db817c88d35c9e
|
304
|
-
lib/ndr_import/unmapped_data_error.rb:
|
305
|
-
comments:
|
306
|
-
reviewed_by: josh.pencheon
|
307
|
-
safe_revision: 5cd2cd0b3a1e254d30d4acc28c6731825a1f84f5
|
308
|
-
lib/ndr_import/version.rb:
|
309
|
-
comments: another check?
|
310
|
-
reviewed_by: josh.pencheon
|
311
|
-
safe_revision: 47fa3633ec2e48f1ee9fb12aad03e817e73c54bf
|
312
|
-
lib/ndr_import/xml/control_char_escaper.rb:
|
313
|
-
comments:
|
314
|
-
reviewed_by: josh.pencheon
|
315
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
316
|
-
lib/ndr_import/xml/table.rb:
|
317
|
-
comments:
|
318
|
-
reviewed_by: josh.pencheon
|
319
|
-
safe_revision: 4ab72f84201c2d5f0147b7dfd041f488f6ff0422
|
320
|
-
ndr_import.gemspec:
|
321
|
-
comments:
|
322
|
-
reviewed_by: josh.pencheon
|
323
|
-
safe_revision: 95e6ee9997d06471fe6f2f169c3c701471086371
|
324
|
-
test/csv_library_test.rb:
|
325
|
-
comments:
|
326
|
-
reviewed_by: ollietulloch
|
327
|
-
safe_revision: 6b8668967dbd42d7893a0fa5f0aa1ec1c11227e1
|
328
|
-
test/file/acro_form_test.rb:
|
329
|
-
comments:
|
330
|
-
reviewed_by: josh.pencheon
|
331
|
-
safe_revision: 5cd2cd0b3a1e254d30d4acc28c6731825a1f84f5
|
332
|
-
test/file/base_test.rb:
|
333
|
-
comments:
|
334
|
-
reviewed_by: timgentry
|
335
|
-
safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
|
336
|
-
test/file/delimited_test.rb:
|
337
|
-
comments:
|
338
|
-
reviewed_by: josh.pencheon
|
339
|
-
safe_revision: 93ccee82fc2165d1ca2d9b03d146ae03e769ea96
|
340
|
-
test/file/docx_test.rb:
|
341
|
-
comments:
|
342
|
-
reviewed_by: josh.pencheon
|
343
|
-
safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
|
344
|
-
test/file/excel_test.rb:
|
345
|
-
comments:
|
346
|
-
reviewed_by: ollietulloch
|
347
|
-
safe_revision: 85a080deaa93e4220ad1bf566f29cbdac9b31c0f
|
348
|
-
test/file/pdf_test.rb:
|
349
|
-
comments:
|
350
|
-
reviewed_by: josh.pencheon
|
351
|
-
safe_revision: cb24ed3ea8116730d07f74546cd6fed0738b171d
|
352
|
-
test/file/registry_test.rb:
|
353
|
-
comments:
|
354
|
-
reviewed_by: ollietulloch
|
355
|
-
safe_revision: 85a080deaa93e4220ad1bf566f29cbdac9b31c0f
|
356
|
-
test/file/seven_zip_test.rb:
|
357
|
-
comments:
|
358
|
-
reviewed_by: josh.pencheon
|
359
|
-
safe_revision: f2feb0c430947839183d7223e60e7c29b2c0f846
|
360
|
-
test/file/text_test.rb:
|
361
|
-
comments:
|
362
|
-
reviewed_by: timgentry
|
363
|
-
safe_revision: 3107f711805b6d3b89d32ec923178425aa600dac
|
364
|
-
test/file/word_test.rb:
|
365
|
-
comments:
|
366
|
-
reviewed_by: josh.pencheon
|
367
|
-
safe_revision: 1b66cfcbb61dfac93c44889ca0ced5836101c20c
|
368
|
-
test/file/xml_test.rb:
|
369
|
-
comments:
|
370
|
-
reviewed_by: josh.pencheon
|
371
|
-
safe_revision: ae75fb49baf028ac8ce08e4bedcd3625ff3ff0cd
|
372
|
-
test/file/zip_test.rb:
|
373
|
-
comments:
|
374
|
-
reviewed_by: timgentry
|
375
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
376
|
-
test/fixed_width/table_test.rb:
|
377
|
-
comments:
|
378
|
-
reviewed_by: ollie.tulloch
|
379
|
-
safe_revision: dfc958d44b6c58355445fa395db08a62213ee709
|
380
|
-
test/helpers/file/delimited_test.rb:
|
381
|
-
comments:
|
382
|
-
reviewed_by: josh.pencheon
|
383
|
-
safe_revision: 93ccee82fc2165d1ca2d9b03d146ae03e769ea96
|
384
|
-
test/helpers/file/excel_test.rb:
|
385
|
-
comments:
|
386
|
-
reviewed_by: joshpencheon
|
387
|
-
safe_revision: 377c060bd1e012d6e162a4ab8923a3609aacdf57
|
388
|
-
test/helpers/file/pdf_test.rb:
|
389
|
-
comments:
|
390
|
-
reviewed_by: josh.pencheon
|
391
|
-
safe_revision: cb24ed3ea8116730d07f74546cd6fed0738b171d
|
392
|
-
test/helpers/file/word_test.rb:
|
393
|
-
comments:
|
394
|
-
reviewed_by: timgentry
|
395
|
-
safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
|
396
|
-
test/helpers/file/xml_streaming_test.rb:
|
397
|
-
comments:
|
398
|
-
reviewed_by: josh.pencheon
|
399
|
-
safe_revision: ae75fb49baf028ac8ce08e4bedcd3625ff3ff0cd
|
400
|
-
test/helpers/file/xml_test.rb:
|
401
|
-
comments:
|
402
|
-
reviewed_by: josh.pencheon
|
403
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
404
|
-
test/helpers/file/zip_test.rb:
|
405
|
-
comments:
|
406
|
-
reviewed_by: josh.pencheon
|
407
|
-
safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
|
408
|
-
test/mapper_test.rb:
|
409
|
-
comments: exposes Mapper internals to test them
|
410
|
-
reviewed_by: josh.pencheon
|
411
|
-
safe_revision: eca44583e9989159b45e90021dd1c65228447180
|
412
|
-
test/non_tabular/mapping_test.rb:
|
413
|
-
comments:
|
414
|
-
reviewed_by: timgentry
|
415
|
-
safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
|
416
|
-
test/non_tabular/table_test.rb:
|
417
|
-
comments:
|
418
|
-
reviewed_by: josh.pencheon
|
419
|
-
safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
|
420
|
-
test/non_tabular_file_helper_test.rb:
|
421
|
-
comments:
|
422
|
-
reviewed_by: josh.pencheon
|
423
|
-
safe_revision: bb44ade56a2151706eede2c31142440ccf49e6f6
|
424
|
-
test/pdf_form/table_test.rb:
|
425
|
-
comments:
|
426
|
-
reviewed_by: josh.pencheon
|
427
|
-
safe_revision: 5cd2cd0b3a1e254d30d4acc28c6731825a1f84f5
|
428
|
-
test/readme_test.rb:
|
429
|
-
comments:
|
430
|
-
reviewed_by: timgentry
|
431
|
-
safe_revision: cf382902508a21a95b80ac4582fbbd117164e80e
|
432
|
-
test/resources/acro_form.pdf:
|
433
|
-
comments:
|
434
|
-
reviewed_by: josh.pencheon
|
435
|
-
safe_revision: 5cd2cd0b3a1e254d30d4acc28c6731825a1f84f5
|
436
|
-
test/resources/blank_tab_test.xlsx:
|
437
|
-
comments: reviewed contents
|
438
|
-
reviewed_by: joshpencheon
|
439
|
-
safe_revision: 80ce15cc5ca15019400d4cd24c3353191bec00cc
|
440
|
-
test/resources/bomd.csv:
|
441
|
-
comments:
|
442
|
-
reviewed_by: timgentry
|
443
|
-
safe_revision: f755c6960182f7dd460c18866cccfdf09178e860
|
444
|
-
test/resources/broken.csv:
|
445
|
-
comments:
|
446
|
-
reviewed_by: timgentry
|
447
|
-
safe_revision: dab4b8a3e4b29d85eccd971e79936982d888cffd
|
448
|
-
test/resources/claims_utf16be_but_isnt.xml:
|
449
|
-
comments:
|
450
|
-
reviewed_by: josh.pencheon
|
451
|
-
safe_revision: ae75fb49baf028ac8ce08e4bedcd3625ff3ff0cd
|
452
|
-
test/resources/filesystem_paths.yml:
|
453
|
-
comments:
|
454
|
-
reviewed_by: timgentry
|
455
|
-
safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
|
456
|
-
test/resources/flat_file.pdf:
|
457
|
-
comments:
|
458
|
-
reviewed_by: timgentry
|
459
|
-
safe_revision: aba37ca7167f4e43a912e267a13b0c24a8737731
|
460
|
-
test/resources/flat_file.txt:
|
461
|
-
comments:
|
462
|
-
reviewed_by: timgentry
|
463
|
-
safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
|
464
|
-
test/resources/flat_file.yml:
|
465
|
-
comments:
|
466
|
-
reviewed_by: timgentry
|
467
|
-
safe_revision: cf382902508a21a95b80ac4582fbbd117164e80e
|
468
|
-
test/resources/hello_utf16be.txt:
|
469
|
-
comments:
|
470
|
-
reviewed_by: timgentry
|
471
|
-
safe_revision: 3107f711805b6d3b89d32ec923178425aa600dac
|
472
|
-
test/resources/hello_utf16le.txt:
|
473
|
-
comments:
|
474
|
-
reviewed_by: timgentry
|
475
|
-
safe_revision: 3107f711805b6d3b89d32ec923178425aa600dac
|
476
|
-
test/resources/hello_utf8.txt:
|
477
|
-
comments:
|
478
|
-
reviewed_by: timgentry
|
479
|
-
safe_revision: 3961826eb16a30598381c424b95897a2f1e8c40a
|
480
|
-
test/resources/hello_windows.txt:
|
481
|
-
comments:
|
482
|
-
reviewed_by: timgentry
|
483
|
-
safe_revision: 3961826eb16a30598381c424b95897a2f1e8c40a
|
484
|
-
test/resources/hello_world.doc:
|
485
|
-
comments:
|
486
|
-
reviewed_by: timgentry
|
487
|
-
safe_revision: 45da71ebd3acbc0fe53755bcd75483ba17cb6924
|
488
|
-
test/resources/hello_world.docx:
|
489
|
-
comments:
|
490
|
-
reviewed_by: josh.pencheon
|
491
|
-
safe_revision: 1b66cfcbb61dfac93c44889ca0ced5836101c20c
|
492
|
-
test/resources/hello_world.pdf:
|
493
|
-
comments:
|
494
|
-
reviewed_by: josh.pencheon
|
495
|
-
safe_revision: f82e6839f7e3f9932a6f92242c03d94234fc1d82
|
496
|
-
test/resources/hello_world.txt:
|
497
|
-
comments:
|
498
|
-
reviewed_by: timgentry
|
499
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
500
|
-
test/resources/high_ascii_delimited.txt:
|
501
|
-
comments:
|
502
|
-
reviewed_by: timgentry
|
503
|
-
safe_revision: e13005efa08f7168c1c65c60ce97057287ace534
|
504
|
-
test/resources/high_ascii_delimited_example_two.txt:
|
505
|
-
comments:
|
506
|
-
reviewed_by: josh.pencheon
|
507
|
-
safe_revision: 902f5326d85372d9632de9869d6f56fc02b83a10
|
508
|
-
test/resources/malformed.csv:
|
509
|
-
comments:
|
510
|
-
reviewed_by: josh.pencheon
|
511
|
-
safe_revision: 71979e0a602ca5a0ce415c194f10add9959f0116
|
512
|
-
test/resources/malformed.xml:
|
513
|
-
comments:
|
514
|
-
reviewed_by: joshpencheon
|
515
|
-
safe_revision: 3947f13e0cbd17f449eba292ad343eeb82116fe9
|
516
|
-
test/resources/malformed_pipe.csv:
|
517
|
-
comments:
|
518
|
-
reviewed_by: josh.pencheon
|
519
|
-
safe_revision: 71979e0a602ca5a0ce415c194f10add9959f0116
|
520
|
-
test/resources/normal.7z:
|
521
|
-
comments:
|
522
|
-
reviewed_by: josh.pencheon
|
523
|
-
safe_revision: f2feb0c430947839183d7223e60e7c29b2c0f846
|
524
|
-
test/resources/normal.csv:
|
525
|
-
comments:
|
526
|
-
reviewed_by: timgentry
|
527
|
-
safe_revision: f755c6960182f7dd460c18866cccfdf09178e860
|
528
|
-
test/resources/normal.csv.zip:
|
529
|
-
comments:
|
530
|
-
reviewed_by: timgentry
|
531
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
532
|
-
test/resources/normal_pipe.csv:
|
533
|
-
comments:
|
534
|
-
reviewed_by: timgentry
|
535
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
536
|
-
test/resources/normal_thorn.csv:
|
537
|
-
comments:
|
538
|
-
reviewed_by: timgentry
|
539
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
540
|
-
test/resources/not_a_pdf.pdf:
|
541
|
-
comments:
|
542
|
-
reviewed_by: timgentry
|
543
|
-
safe_revision: ed2360bd226dd6babb7683f2f888ba9547ff7e53
|
544
|
-
test/resources/not_a_word_file.doc:
|
545
|
-
comments:
|
546
|
-
reviewed_by: timgentry
|
547
|
-
safe_revision: 45da71ebd3acbc0fe53755bcd75483ba17cb6924
|
548
|
-
test/resources/not_a_word_file.docx:
|
549
|
-
comments:
|
550
|
-
reviewed_by: josh.pencheon
|
551
|
-
safe_revision: 1b66cfcbb61dfac93c44889ca0ced5836101c20c
|
552
|
-
test/resources/not_sign_delimited.txt:
|
553
|
-
comments:
|
554
|
-
reviewed_by: josh.pencheon
|
555
|
-
safe_revision: 902f5326d85372d9632de9869d6f56fc02b83a10
|
556
|
-
test/resources/password_protected_hello_world.docx:
|
557
|
-
comments:
|
558
|
-
reviewed_by: josh.pencheon
|
559
|
-
safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
|
560
|
-
test/resources/password_protected_sample_xlsx.xlsx:
|
561
|
-
comments:
|
562
|
-
reviewed_by: josh.pencheon
|
563
|
-
safe_revision: a69d4a57ddcf13cdc13c27bd2eb91a395fa7ea36
|
564
|
-
test/resources/sample.xml:
|
565
|
-
comments:
|
566
|
-
reviewed_by: josh.pencheon
|
567
|
-
safe_revision: 4ab72f84201c2d5f0147b7dfd041f488f6ff0422
|
568
|
-
test/resources/sample_xls.xls:
|
569
|
-
comments:
|
570
|
-
reviewed_by: timgentry
|
571
|
-
safe_revision: 8c30f89f0562ab120769c166d4e93ff839c055f7
|
572
|
-
test/resources/sample_xlsm.xlsm:
|
573
|
-
comments:
|
574
|
-
reviewed_by: ollietulloch
|
575
|
-
safe_revision: 85a080deaa93e4220ad1bf566f29cbdac9b31c0f
|
576
|
-
test/resources/sample_xlsx.xlsx:
|
577
|
-
comments:
|
578
|
-
reviewed_by: timgentry
|
579
|
-
safe_revision: 8c30f89f0562ab120769c166d4e93ff839c055f7
|
580
|
-
test/resources/sheet_streaming.xls:
|
581
|
-
comments:
|
582
|
-
reviewed_by: joshpencheon
|
583
|
-
safe_revision: 334d53bb9e8698bba3d92b4dbd71b36faacae629
|
584
|
-
test/resources/sheet_streaming.xlsx:
|
585
|
-
comments:
|
586
|
-
reviewed_by: joshpencheon
|
587
|
-
safe_revision: 334d53bb9e8698bba3d92b4dbd71b36faacae629
|
588
|
-
test/resources/standard_mappings.yml:
|
589
|
-
comments:
|
590
|
-
reviewed_by: timgentry
|
591
|
-
safe_revision: 31fb1935f4578729d8786eea41cf0ce0a19be1cd
|
592
|
-
test/resources/two_files_single_table_mapping.zip:
|
593
|
-
comments:
|
594
|
-
reviewed_by: ollietulloch
|
595
|
-
safe_revision: 830de0f8cb139c5f61525652b424423935cfc7ac
|
596
|
-
test/resources/txt_file_xls_extension.xls:
|
597
|
-
comments:
|
598
|
-
reviewed_by: timgentry
|
599
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
600
|
-
test/resources/txt_file_xlsx_extension.xlsx:
|
601
|
-
comments:
|
602
|
-
reviewed_by: timgentry
|
603
|
-
safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
|
604
|
-
test/resources/utf-16be_xml.xml:
|
605
|
-
comments:
|
606
|
-
reviewed_by: timgentry
|
607
|
-
safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
|
608
|
-
test/resources/utf-16be_xml_with_declaration.xml:
|
609
|
-
comments:
|
610
|
-
reviewed_by: timgentry
|
611
|
-
safe_revision: 39be14a276d30d9b711451a882874a1db41bf9f2
|
612
|
-
test/resources/utf-16le_xml.xml:
|
613
|
-
comments:
|
614
|
-
reviewed_by: timgentry
|
615
|
-
safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
|
616
|
-
test/resources/utf-8_xml.xml:
|
617
|
-
comments:
|
618
|
-
reviewed_by: timgentry
|
619
|
-
safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
|
620
|
-
test/resources/windows-1252_xml.xml:
|
621
|
-
comments:
|
622
|
-
reviewed_by: timgentry
|
623
|
-
safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
|
624
|
-
test/resources/windows.csv:
|
625
|
-
comments:
|
626
|
-
reviewed_by: timgentry
|
627
|
-
safe_revision: f755c6960182f7dd460c18866cccfdf09178e860
|
628
|
-
test/resources/with-control-char-references-in-cdata.xml:
|
629
|
-
comments:
|
630
|
-
reviewed_by: josh.pencheon
|
631
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
632
|
-
test/resources/with-control-char-references.xml:
|
633
|
-
comments:
|
634
|
-
reviewed_by: josh.pencheon
|
635
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
636
|
-
test/resources/with-control-chars.xml:
|
637
|
-
comments:
|
638
|
-
reviewed_by: joshpencheon
|
639
|
-
safe_revision: 3947f13e0cbd17f449eba292ad343eeb82116fe9
|
640
|
-
test/resources/with-non-control-char-references.xml:
|
641
|
-
comments:
|
642
|
-
reviewed_by: josh.pencheon
|
643
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
644
|
-
test/resources/xlsx_file_xls_extension.xls:
|
645
|
-
comments:
|
646
|
-
reviewed_by: timgentry
|
647
|
-
safe_revision: 8c30f89f0562ab120769c166d4e93ff839c055f7
|
648
|
-
test/standard_mappings_test.rb:
|
649
|
-
comments:
|
650
|
-
reviewed_by: timgentry
|
651
|
-
safe_revision: 3c7f827d17aacbf7b811eea67e27553f3b039070
|
652
|
-
test/table_test.rb:
|
653
|
-
comments:
|
654
|
-
reviewed_by: josh.pencheon
|
655
|
-
safe_revision: 3cf7473181f7f835b3dfe7822f6833d751805eaf
|
656
|
-
test/test_helper.rb:
|
657
|
-
comments:
|
658
|
-
reviewed_by: josh.pencheon
|
659
|
-
safe_revision: 93ccee82fc2165d1ca2d9b03d146ae03e769ea96
|
660
|
-
test/universal_importer_helper_test.rb:
|
661
|
-
comments:
|
662
|
-
reviewed_by: josh.pencheon
|
663
|
-
safe_revision: 85869d99ae93252b7f3ef2d0a4db817c88d35c9e
|
664
|
-
test/xml/control_char_escaper_test.rb:
|
665
|
-
comments:
|
666
|
-
reviewed_by: josh.pencheon
|
667
|
-
safe_revision: 9a6cc769abce5f9bfa5b4f8bd5cda52dfe18b12b
|
668
|
-
test/xml/table_test.rb:
|
669
|
-
comments:
|
670
|
-
reviewed_by: josh.pencheon
|
671
|
-
safe_revision: 4ab72f84201c2d5f0147b7dfd041f488f6ff0422
|
data/gemfiles/Gemfile.rails52
DELETED
data/gemfiles/Gemfile.rails60
DELETED
data/ndr_import.gemspec
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
lib = File.expand_path('../lib', __FILE__)
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require 'ndr_import/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = 'ndr_import'
|
7
|
-
spec.version = NdrImport::VERSION
|
8
|
-
spec.authors = ['NCRS Development Team']
|
9
|
-
spec.email = []
|
10
|
-
spec.summary = 'NDR Import'
|
11
|
-
spec.description = 'NDR ETL Importer'
|
12
|
-
spec.homepage = 'https://github.com/PublicHealthEngland/ndr_import'
|
13
|
-
spec.license = 'MIT'
|
14
|
-
|
15
|
-
# Specify which files should be added to the gem when it is released.
|
16
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
17
|
-
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
18
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(docs|test|spec|features)/}) }
|
19
|
-
end
|
20
|
-
spec.files -= %w[.travis.yml] # Not needed in the gem
|
21
|
-
spec.bindir = 'exe'
|
22
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
-
spec.require_paths = ['lib']
|
24
|
-
|
25
|
-
spec.add_dependency 'activemodel'
|
26
|
-
spec.add_dependency 'activesupport', '>= 5.0', '< 7'
|
27
|
-
spec.add_dependency 'ndr_support', '>= 5.3.2', '< 6'
|
28
|
-
|
29
|
-
spec.add_dependency 'rubyzip', '~> 2.0'
|
30
|
-
spec.add_dependency 'roo', '~> 2.0'
|
31
|
-
|
32
|
-
spec.add_dependency 'docx', '~> 0.3'
|
33
|
-
spec.add_dependency 'msworddoc-extractor', '0.2.0'
|
34
|
-
spec.add_dependency 'nokogiri', '~> 1.8', '>= 1.8.5'
|
35
|
-
spec.add_dependency 'ooxml_decrypt'
|
36
|
-
spec.add_dependency 'pdf-reader', '~> 2.1'
|
37
|
-
spec.add_dependency 'roo-xls'
|
38
|
-
spec.add_dependency 'seven_zip_ruby', '~> 1.2'
|
39
|
-
spec.add_dependency 'spreadsheet', '1.2.6'
|
40
|
-
|
41
|
-
spec.required_ruby_version = '>= 2.5'
|
42
|
-
|
43
|
-
spec.add_development_dependency 'bundler'
|
44
|
-
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
|
45
|
-
spec.add_development_dependency 'minitest'
|
46
|
-
spec.add_development_dependency 'mocha'
|
47
|
-
spec.add_development_dependency 'ndr_dev_support', '>= 3.1.3'
|
48
|
-
spec.add_development_dependency 'guard'
|
49
|
-
spec.add_development_dependency 'guard-rubocop'
|
50
|
-
spec.add_development_dependency 'guard-test'
|
51
|
-
spec.add_development_dependency 'terminal-notifier-guard' if RUBY_PLATFORM =~ /darwin/
|
52
|
-
spec.add_development_dependency 'simplecov'
|
53
|
-
end
|