ndr_import 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +14 -0
  3. data/.rubocop.yml +27 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +22 -0
  6. data/CODE_OF_CONDUCT.md +13 -0
  7. data/Gemfile +4 -0
  8. data/Guardfile +16 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +69 -0
  11. data/Rakefile +13 -0
  12. data/code_safety.yml +374 -0
  13. data/gemfiles/Gemfile.rails32 +5 -0
  14. data/gemfiles/Gemfile.rails32.lock +142 -0
  15. data/gemfiles/Gemfile.rails41 +5 -0
  16. data/gemfiles/Gemfile.rails41.lock +145 -0
  17. data/gemfiles/Gemfile.rails42 +5 -0
  18. data/gemfiles/Gemfile.rails42.lock +145 -0
  19. data/lib/ndr_import.rb +13 -0
  20. data/lib/ndr_import/csv_library.rb +40 -0
  21. data/lib/ndr_import/file/all.rb +8 -0
  22. data/lib/ndr_import/file/base.rb +76 -0
  23. data/lib/ndr_import/file/delimited.rb +86 -0
  24. data/lib/ndr_import/file/excel.rb +131 -0
  25. data/lib/ndr_import/file/pdf.rb +38 -0
  26. data/lib/ndr_import/file/registry.rb +50 -0
  27. data/lib/ndr_import/file/text.rb +52 -0
  28. data/lib/ndr_import/file/word.rb +30 -0
  29. data/lib/ndr_import/file/zip.rb +67 -0
  30. data/lib/ndr_import/helpers/file/delimited.rb +105 -0
  31. data/lib/ndr_import/helpers/file/excel.rb +181 -0
  32. data/lib/ndr_import/helpers/file/pdf.rb +29 -0
  33. data/lib/ndr_import/helpers/file/word.rb +27 -0
  34. data/lib/ndr_import/helpers/file/xml.rb +45 -0
  35. data/lib/ndr_import/helpers/file/zip.rb +44 -0
  36. data/lib/ndr_import/mapper.rb +220 -0
  37. data/lib/ndr_import/mapping_error.rb +5 -0
  38. data/lib/ndr_import/non_tabular/column_mapping.rb +73 -0
  39. data/lib/ndr_import/non_tabular/line.rb +46 -0
  40. data/lib/ndr_import/non_tabular/mapping.rb +35 -0
  41. data/lib/ndr_import/non_tabular/record.rb +99 -0
  42. data/lib/ndr_import/non_tabular/table.rb +193 -0
  43. data/lib/ndr_import/non_tabular_file_helper.rb +160 -0
  44. data/lib/ndr_import/standard_mappings.rb +23 -0
  45. data/lib/ndr_import/table.rb +179 -0
  46. data/lib/ndr_import/version.rb +4 -0
  47. data/ndr_import.gemspec +44 -0
  48. data/test/file/base_test.rb +54 -0
  49. data/test/file/delimited_test.rb +143 -0
  50. data/test/file/excel_test.rb +85 -0
  51. data/test/file/pdf_test.rb +35 -0
  52. data/test/file/registry_test.rb +60 -0
  53. data/test/file/text_test.rb +92 -0
  54. data/test/file/word_test.rb +35 -0
  55. data/test/file/zip_test.rb +47 -0
  56. data/test/helpers/file/delimited_test.rb +113 -0
  57. data/test/helpers/file/excel_test.rb +97 -0
  58. data/test/helpers/file/pdf_test.rb +26 -0
  59. data/test/helpers/file/word_test.rb +26 -0
  60. data/test/helpers/file/xml_test.rb +131 -0
  61. data/test/helpers/file/zip_test.rb +75 -0
  62. data/test/mapper_test.rb +551 -0
  63. data/test/non_tabular/mapping_test.rb +36 -0
  64. data/test/non_tabular/table_test.rb +510 -0
  65. data/test/non_tabular_file_helper_test.rb +501 -0
  66. data/test/readme_test.rb +53 -0
  67. data/test/resources/bomd.csv +3 -0
  68. data/test/resources/broken.csv +3 -0
  69. data/test/resources/filesystem_paths.yml +26 -0
  70. data/test/resources/flat_file.pdf +0 -0
  71. data/test/resources/flat_file.txt +27 -0
  72. data/test/resources/flat_file.yml +20 -0
  73. data/test/resources/hello_utf16be.txt +0 -0
  74. data/test/resources/hello_utf16le.txt +0 -0
  75. data/test/resources/hello_utf8.txt +2 -0
  76. data/test/resources/hello_windows.txt +2 -0
  77. data/test/resources/hello_world.doc +0 -0
  78. data/test/resources/hello_world.pdf +0 -0
  79. data/test/resources/hello_world.txt +2 -0
  80. data/test/resources/high_ascii_delimited.txt +2 -0
  81. data/test/resources/malformed.xml +6 -0
  82. data/test/resources/normal.csv +3 -0
  83. data/test/resources/normal.csv.zip +0 -0
  84. data/test/resources/normal_pipe.csv +3 -0
  85. data/test/resources/normal_thorn.csv +3 -0
  86. data/test/resources/not_a_pdf.pdf +0 -0
  87. data/test/resources/not_a_word_file.doc +0 -0
  88. data/test/resources/sample_xls.xls +0 -0
  89. data/test/resources/sample_xlsx.xlsx +0 -0
  90. data/test/resources/standard_mappings.yml +39 -0
  91. data/test/resources/txt_file_xls_extension.xls +1 -0
  92. data/test/resources/txt_file_xlsx_extension.xlsx +1 -0
  93. data/test/resources/utf-16be_xml.xml +0 -0
  94. data/test/resources/utf-16be_xml_with_declaration.xml +0 -0
  95. data/test/resources/utf-16le_xml.xml +0 -0
  96. data/test/resources/utf-8_xml.xml +9 -0
  97. data/test/resources/windows-1252_xml.xml +9 -0
  98. data/test/resources/windows.csv +5 -0
  99. data/test/resources/xlsx_file_xls_extension.xls +0 -0
  100. data/test/standard_mappings_test.rb +22 -0
  101. data/test/table_test.rb +288 -0
  102. data/test/test_helper.rb +13 -0
  103. metadata +443 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NTUwNWZhYjQxYmQwZjUyY2JjMzI0OGJkMDcyNzVkZmUxNWMwNmRjMA==
5
+ data.tar.gz: !binary |-
6
+ MGI0ZjEzYzQ5YWI5NTAzNjhjNTdkMDVkYjNlZWEyMjQyYjM4MTU0Nw==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MmQzMWRiOWY2ZTY4ZjFkMDhjZDI5MDQ3NDNkYTUyYmQ2YTY5MmI1MjdmODEy
10
+ Yjg4OWZkYWQwZGJhZmJjMTMzMWJiNTQwNzU2OWMwZmEyMTViM2ViM2EyZjIw
11
+ NWM5MzRmZWIxM2VlMmYwNTAzNTRjODc5ZjQ5NzhmZTIxNWNkNzM=
12
+ data.tar.gz: !binary |-
13
+ MTE2Y2QwYzE2MjQzYjEwNzZjODAyYzMzNjI4ZWNhOGZlZWE5ZTgyN2E3ODQx
14
+ Mzg5N2I1NjE4N2UxMWJmMTI2N2JjNTEwNTA0NDJhMzg0YjRiYmU1ZDc2MGY3
15
+ YTY0MDk0MjJiNDk5ZDcxODljNmNhZmUzMDk5ZjRhODQ1YjEyOWM=
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/.rubocop.yml ADDED
@@ -0,0 +1,27 @@
1
+ # By default, would enforce { key: value } rather than { :key => value }.
2
+ AllCops:
3
+ RunRailsCops: true
4
+
5
+ # Multi-line method chaining should be done with trailing dots.
6
+ Style/DotPosition:
7
+ EnforcedStyle: trailing
8
+
9
+ HashSyntax:
10
+ EnforcedStyle: hash_rockets
11
+ SupportedStyles:
12
+ - ruby19
13
+ - hash_rockets
14
+
15
+ # Would enforce "-> { }", which we cannot use yet.
16
+ Lambda:
17
+ Enabled: false
18
+
19
+ # ...
20
+ LineLength:
21
+ Max: 99
22
+
23
+ # Relax some of the cops for tests
24
+ Metrics/ClassLength: &exclude_tests
25
+ Exclude:
26
+ - test/**/*.rb
27
+ Metrics/MethodLength: *exclude_tests
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3-p547
data/.travis.yml ADDED
@@ -0,0 +1,22 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.1
7
+ - 2.2
8
+
9
+ gemfile:
10
+ - gemfiles/Gemfile.rails32
11
+ - gemfiles/Gemfile.rails41
12
+ - gemfiles/Gemfile.rails42
13
+
14
+ sudo: false
15
+
16
+ cache: bundler
17
+
18
+ before_install: "rm ${BUNDLE_GEMFILE}.lock"
19
+
20
+ before_script: "bundle update"
21
+
22
+ script: "bundle exec rake test"
@@ -0,0 +1,13 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
+
5
+ We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
6
+
7
+ Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
8
+
9
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
10
+
11
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
12
+
13
+ This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ndr_import.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,16 @@
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/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2011-2015 Public Health England
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # NdrImport [![Build Status](https://travis-ci.org/PublicHealthEngland/ndr_import.svg?branch=master)](https://travis-ci.org/PublicHealthEngland/ndr_import)
2
+
3
+ This is the Public Health England (PHE) National Disease Registers (NDR) Import ETL ruby gem, providing:
4
+
5
+ 1. file import handlers for *extracting* data from delimited files (csv, pipe, tab, thorn), .xls(x) spreadsheets, .doc word documents, PDF, XML and Zip files.
6
+ 2. table mappers for *transforming* tabular and non-tabular data into key value pairs grouped by a common "klass".
7
+
8
+ ## Installation
9
+
10
+ Add this line to your application's Gemfile:
11
+
12
+ ```ruby
13
+ gem 'ndr_import', :git => 'https://github.com/PublicHealthEngland/ndr_import.git'
14
+ ```
15
+
16
+ And then execute:
17
+
18
+ $ bundle
19
+
20
+ Or install it yourself by cloning the project, then executing:
21
+
22
+ $ gem install ndr_import.gem
23
+
24
+ ## Usage
25
+
26
+ Below is an example that extracts data from a PDF and transforms it into to a collection of records defined by their "klasses" and "fields":
27
+
28
+ ```ruby
29
+ require 'ndr_import/non_tabular/table'
30
+ require 'ndr_import/file/registry'
31
+
32
+ unzip_path = SafePath.new(...)
33
+ source_file = SafePath.new(...).join(...)
34
+ options = { 'unzip_path' => unzip_path }
35
+
36
+ table = NdrImport::NonTabular::Table.new(...)
37
+
38
+ # Use the Registry to enumerate over the files and their tables
39
+ files = NdrImport::File::Registry.files(source_file, options)
40
+ files.each do |filename|
41
+ tables = NdrImport::File::Registry.tables(filename, nil, options)
42
+ tables.each do |_tablename, table_content|
43
+ # Use the NonTabular::Table to tabulate the table_content
44
+ table.transform(table_content).each do |_klass, _fields, _index|
45
+ # Your code goes here
46
+ end
47
+ end
48
+ end
49
+ ```
50
+
51
+ See test/readme_test.rb for a more complete working example.
52
+
53
+ More information on the workings of the mapper are available in the [wiki](https://github.com/PublicHealthEngland/ndr_import/wiki).
54
+
55
+ ## Contributing
56
+
57
+ 1. Fork it ( https://github.com/PublicHealthEngland/ndr_import/fork )
58
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
59
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
60
+ 4. Push to the branch (`git push origin my-new-feature`)
61
+ 5. Create a new Pull Request
62
+
63
+ Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
64
+
65
+ ## Test Data
66
+
67
+ All test data in this repository is fictitious. Any resemblance to real persons, living or dead, is purely coincidental although Mighty Boosh references have been used in some tests.
68
+
69
+ Note: Real codes exist in the tests, postcodes for example, but bear no relation to real patient data. Please ensure that you *always* only ever commit dummy data when contributing to this project.
data/Rakefile ADDED
@@ -0,0 +1,13 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+ require 'ndr_support/tasks'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs << 'lib'
7
+ t.libs << 'test'
8
+ t.pattern = 'test/**/*_test.rb'
9
+ t.verbose = true
10
+ end
11
+
12
+ desc 'Run tests'
13
+ task :default => :test
data/code_safety.yml ADDED
@@ -0,0 +1,374 @@
1
+ ---
2
+ file safety:
3
+ .gitignore:
4
+ comments:
5
+ reviewed_by: timgentry
6
+ safe_revision: 561b183d3935205b9200e794f62618f6bddb353c
7
+ .rubocop.yml:
8
+ comments:
9
+ reviewed_by: timgentry
10
+ safe_revision: 0cf75d467319de27ef1ff8395346f2f888843302
11
+ .ruby-version:
12
+ comments:
13
+ reviewed_by: timgentry
14
+ safe_revision: 002969562baf46931e8192cd6ca1344952b00a41
15
+ .travis.yml:
16
+ comments:
17
+ reviewed_by: timgentry
18
+ safe_revision: a628e8fc9a2cf23453e9060e5a850d0b66f9720f
19
+ CODE_OF_CONDUCT.md:
20
+ comments:
21
+ reviewed_by: timgentry
22
+ safe_revision: 5d185a0aeba6a9cd2ff5e59efadcaeec9be45d8b
23
+ Gemfile:
24
+ comments:
25
+ reviewed_by: timgentry
26
+ safe_revision: a146ca7db90b5e074f7e723b2a6fd1674c5b47ad
27
+ Guardfile:
28
+ comments:
29
+ reviewed_by: timgentry
30
+ safe_revision: fb1f4a97327f426cc73a6ebdc4f1089caae98e93
31
+ LICENSE.txt:
32
+ comments:
33
+ reviewed_by: timgentry
34
+ safe_revision: 5d185a0aeba6a9cd2ff5e59efadcaeec9be45d8b
35
+ README.md:
36
+ comments:
37
+ reviewed_by: timgentry
38
+ safe_revision: a628e8fc9a2cf23453e9060e5a850d0b66f9720f
39
+ Rakefile:
40
+ comments:
41
+ reviewed_by: timgentry
42
+ safe_revision: 40e2fe79b4b01bc21dc7e44012194cd054be99d4
43
+ lib/ndr_import.rb:
44
+ comments:
45
+ reviewed_by: timgentry
46
+ safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
47
+ lib/ndr_import/csv_library.rb:
48
+ comments:
49
+ reviewed_by: josh.pencheon
50
+ safe_revision: 20939133f61ed102feb2a841b6c43b86f385b972
51
+ lib/ndr_import/file/all.rb:
52
+ comments:
53
+ reviewed_by: timgentry
54
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
55
+ lib/ndr_import/file/base.rb:
56
+ comments:
57
+ reviewed_by: timgentry
58
+ safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
59
+ lib/ndr_import/file/delimited.rb:
60
+ comments:
61
+ reviewed_by: josh.pencheon
62
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
63
+ lib/ndr_import/file/excel.rb:
64
+ comments:
65
+ reviewed_by: josh.pencheon
66
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
67
+ lib/ndr_import/file/pdf.rb:
68
+ comments:
69
+ reviewed_by: timgentry
70
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
71
+ lib/ndr_import/file/registry.rb:
72
+ comments:
73
+ reviewed_by: timgentry
74
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
75
+ lib/ndr_import/file/text.rb:
76
+ comments:
77
+ reviewed_by: josh.pencheon
78
+ safe_revision: 889149c44e8bf299b0fb969d545e1a83b146f179
79
+ lib/ndr_import/file/word.rb:
80
+ comments:
81
+ reviewed_by: timgentry
82
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
83
+ lib/ndr_import/file/zip.rb:
84
+ comments:
85
+ reviewed_by: timgentry
86
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
87
+ lib/ndr_import/helpers/file/delimited.rb:
88
+ comments:
89
+ reviewed_by: josh.pencheon
90
+ safe_revision: 277e5d8159542b539fe7548fb30b449d9273c8f9
91
+ lib/ndr_import/helpers/file/excel.rb:
92
+ comments:
93
+ reviewed_by: timgentry
94
+ safe_revision: 277e5d8159542b539fe7548fb30b449d9273c8f9
95
+ lib/ndr_import/helpers/file/pdf.rb:
96
+ comments:
97
+ reviewed_by: timgentry
98
+ safe_revision: 3757fece40192a335c2d7d9290f2e4e9eed43619
99
+ lib/ndr_import/helpers/file/word.rb:
100
+ comments:
101
+ reviewed_by: timgentry
102
+ safe_revision: 45da71ebd3acbc0fe53755bcd75483ba17cb6924
103
+ lib/ndr_import/helpers/file/xml.rb:
104
+ comments:
105
+ reviewed_by: timgentry
106
+ safe_revision: 1e3be072adc4246a48413d1532dc180fa1a43288
107
+ lib/ndr_import/helpers/file/zip.rb:
108
+ comments:
109
+ reviewed_by: timgentry
110
+ safe_revision: 6c6f204fab2f4232d81cb76aa523c26b0c490ae7
111
+ lib/ndr_import/mapper.rb:
112
+ comments:
113
+ reviewed_by:
114
+ safe_revision:
115
+ lib/ndr_import/mapping_error.rb:
116
+ comments:
117
+ reviewed_by: timgentry
118
+ safe_revision: 96ccc535bb9f933081dfc73bf0442b32b6bdce1d
119
+ lib/ndr_import/non_tabular/column_mapping.rb:
120
+ comments:
121
+ reviewed_by: josh.pencheon
122
+ safe_revision: 96ccc535bb9f933081dfc73bf0442b32b6bdce1d
123
+ lib/ndr_import/non_tabular/line.rb:
124
+ comments:
125
+ reviewed_by: timgentry
126
+ safe_revision: ac30f66578ab380649be800a4426d917ddbcb329
127
+ lib/ndr_import/non_tabular/mapping.rb:
128
+ comments:
129
+ reviewed_by: josh.pencheon
130
+ safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
131
+ lib/ndr_import/non_tabular/record.rb:
132
+ comments:
133
+ reviewed_by: timgentry
134
+ safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
135
+ lib/ndr_import/non_tabular/table.rb:
136
+ comments:
137
+ reviewed_by: josh.pencheon
138
+ safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
139
+ lib/ndr_import/non_tabular_file_helper.rb:
140
+ comments:
141
+ reviewed_by: josh.pencheon
142
+ safe_revision: ac30f66578ab380649be800a4426d917ddbcb329
143
+ lib/ndr_import/standard_mappings.rb:
144
+ comments:
145
+ reviewed_by: timgentry
146
+ safe_revision: 96ccc535bb9f933081dfc73bf0442b32b6bdce1d
147
+ lib/ndr_import/table.rb:
148
+ comments: uses File.basename
149
+ reviewed_by: timgentry
150
+ safe_revision: 2dc6d533dd8be4b81b6a5d5a2baf3759afc0dcff
151
+ lib/ndr_import/version.rb:
152
+ comments:
153
+ reviewed_by: josh.pencheon
154
+ safe_revision: 330e074b882528bcf99e368ec249231601099902
155
+ ndr_import.gemspec:
156
+ comments:
157
+ reviewed_by: josh.pencheon
158
+ safe_revision: 6f91ad9730129661d7d24428119e6aefa8ac86fc
159
+ test/file/base_test.rb:
160
+ comments:
161
+ reviewed_by: timgentry
162
+ safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
163
+ test/file/delimited_test.rb:
164
+ comments:
165
+ reviewed_by: timgentry
166
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
167
+ test/file/excel_test.rb:
168
+ comments:
169
+ reviewed_by: timgentry
170
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
171
+ test/file/pdf_test.rb:
172
+ comments:
173
+ reviewed_by: timgentry
174
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
175
+ test/file/registry_test.rb:
176
+ comments:
177
+ reviewed_by: timgentry
178
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
179
+ test/file/text_test.rb:
180
+ comments:
181
+ reviewed_by: timgentry
182
+ safe_revision: 3107f711805b6d3b89d32ec923178425aa600dac
183
+ test/file/word_test.rb:
184
+ comments:
185
+ reviewed_by: timgentry
186
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
187
+ test/file/zip_test.rb:
188
+ comments:
189
+ reviewed_by: timgentry
190
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
191
+ test/helpers/file/delimited_test.rb:
192
+ comments:
193
+ reviewed_by: timgentry
194
+ safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
195
+ test/helpers/file/excel_test.rb:
196
+ comments:
197
+ reviewed_by: josh.pencheon
198
+ safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
199
+ test/helpers/file/pdf_test.rb:
200
+ comments:
201
+ reviewed_by: timgentry
202
+ safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
203
+ test/helpers/file/word_test.rb:
204
+ comments:
205
+ reviewed_by: timgentry
206
+ safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
207
+ test/helpers/file/xml_test.rb:
208
+ comments:
209
+ reviewed_by: timgentry
210
+ safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
211
+ test/helpers/file/zip_test.rb:
212
+ comments:
213
+ reviewed_by: josh.pencheon
214
+ safe_revision: 9abdd6ced1d0c90ce8dd88abee4eb6472c7ff0d6
215
+ test/mapper_test.rb:
216
+ comments: exposes Mapper internals to test them
217
+ reviewed_by: timgentry
218
+ safe_revision: 33f84451d24e0b159fb163bac0a9a8cbaaa85b7b
219
+ test/non_tabular/mapping_test.rb:
220
+ comments:
221
+ reviewed_by: timgentry
222
+ safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
223
+ test/non_tabular/table_test.rb:
224
+ comments:
225
+ reviewed_by: timgentry
226
+ safe_revision: 2dc6d533dd8be4b81b6a5d5a2baf3759afc0dcff
227
+ test/non_tabular_file_helper_test.rb:
228
+ comments:
229
+ reviewed_by: timgentry
230
+ safe_revision: 602921f8195c95395dc98493345de6a097dcf05b
231
+ test/readme_test.rb:
232
+ comments:
233
+ reviewed_by: timgentry
234
+ safe_revision: aba37ca7167f4e43a912e267a13b0c24a8737731
235
+ test/resources/bomd.csv:
236
+ comments:
237
+ reviewed_by: timgentry
238
+ safe_revision: f755c6960182f7dd460c18866cccfdf09178e860
239
+ test/resources/broken.csv:
240
+ comments:
241
+ reviewed_by: timgentry
242
+ safe_revision: dab4b8a3e4b29d85eccd971e79936982d888cffd
243
+ test/resources/filesystem_paths.yml:
244
+ comments:
245
+ reviewed_by: timgentry
246
+ safe_revision: a8451809db86e0e023b0d93826114a33ff896c4f
247
+ test/resources/flat_file.pdf:
248
+ comments:
249
+ reviewed_by: timgentry
250
+ safe_revision: aba37ca7167f4e43a912e267a13b0c24a8737731
251
+ test/resources/flat_file.txt:
252
+ comments:
253
+ reviewed_by: timgentry
254
+ safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
255
+ test/resources/flat_file.yml:
256
+ comments:
257
+ reviewed_by: timgentry
258
+ safe_revision: 63b1e8c275bd63377309d9b124176f39f75576a9
259
+ test/resources/hello_utf16be.txt:
260
+ comments:
261
+ reviewed_by:
262
+ safe_revision:
263
+ test/resources/hello_utf16le.txt:
264
+ comments:
265
+ reviewed_by:
266
+ safe_revision:
267
+ test/resources/hello_utf8.txt:
268
+ comments:
269
+ reviewed_by: timgentry
270
+ safe_revision: 3961826eb16a30598381c424b95897a2f1e8c40a
271
+ test/resources/hello_windows.txt:
272
+ comments:
273
+ reviewed_by: timgentry
274
+ safe_revision: 3961826eb16a30598381c424b95897a2f1e8c40a
275
+ test/resources/hello_world.doc:
276
+ comments:
277
+ reviewed_by: timgentry
278
+ safe_revision: 45da71ebd3acbc0fe53755bcd75483ba17cb6924
279
+ test/resources/hello_world.pdf:
280
+ comments:
281
+ reviewed_by: timgentry
282
+ safe_revision: ed2360bd226dd6babb7683f2f888ba9547ff7e53
283
+ test/resources/hello_world.txt:
284
+ comments:
285
+ reviewed_by: timgentry
286
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
287
+ test/resources/high_ascii_delimited.txt:
288
+ comments:
289
+ reviewed_by: timgentry
290
+ safe_revision: e13005efa08f7168c1c65c60ce97057287ace534
291
+ test/resources/normal.csv:
292
+ comments:
293
+ reviewed_by: timgentry
294
+ safe_revision: f755c6960182f7dd460c18866cccfdf09178e860
295
+ test/resources/normal.csv.zip:
296
+ comments:
297
+ reviewed_by: timgentry
298
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
299
+ test/resources/normal_pipe.csv:
300
+ comments:
301
+ reviewed_by: timgentry
302
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
303
+ test/resources/normal_thorn.csv:
304
+ comments:
305
+ reviewed_by: timgentry
306
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
307
+ test/resources/not_a_pdf.pdf:
308
+ comments:
309
+ reviewed_by: timgentry
310
+ safe_revision: ed2360bd226dd6babb7683f2f888ba9547ff7e53
311
+ test/resources/not_a_word_file.doc:
312
+ comments:
313
+ reviewed_by: timgentry
314
+ safe_revision: 45da71ebd3acbc0fe53755bcd75483ba17cb6924
315
+ test/resources/sample_xls.xls:
316
+ comments:
317
+ reviewed_by: timgentry
318
+ safe_revision: 8c30f89f0562ab120769c166d4e93ff839c055f7
319
+ test/resources/sample_xlsx.xlsx:
320
+ comments:
321
+ reviewed_by: timgentry
322
+ safe_revision: 8c30f89f0562ab120769c166d4e93ff839c055f7
323
+ test/resources/standard_mappings.yml:
324
+ comments:
325
+ reviewed_by: timgentry
326
+ safe_revision: 31fb1935f4578729d8786eea41cf0ce0a19be1cd
327
+ test/resources/txt_file_xls_extension.xls:
328
+ comments:
329
+ reviewed_by: timgentry
330
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
331
+ test/resources/txt_file_xlsx_extension.xlsx:
332
+ comments:
333
+ reviewed_by: timgentry
334
+ safe_revision: c88000b32401b5ae9ef7f5878a9b630506ab5a94
335
+ test/resources/utf-16be_xml.xml:
336
+ comments:
337
+ reviewed_by: timgentry
338
+ safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
339
+ test/resources/utf-16be_xml_with_declaration.xml:
340
+ comments:
341
+ reviewed_by: timgentry
342
+ safe_revision: 39be14a276d30d9b711451a882874a1db41bf9f2
343
+ test/resources/utf-16le_xml.xml:
344
+ comments:
345
+ reviewed_by: timgentry
346
+ safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
347
+ test/resources/utf-8_xml.xml:
348
+ comments:
349
+ reviewed_by: timgentry
350
+ safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
351
+ test/resources/windows-1252_xml.xml:
352
+ comments:
353
+ reviewed_by: timgentry
354
+ safe_revision: 19b1f3d2c2da501cf26ab2b6953a44199871f68a
355
+ test/resources/windows.csv:
356
+ comments:
357
+ reviewed_by: timgentry
358
+ safe_revision: f755c6960182f7dd460c18866cccfdf09178e860
359
+ test/resources/xlsx_file_xls_extension.xls:
360
+ comments:
361
+ reviewed_by: timgentry
362
+ safe_revision: 8c30f89f0562ab120769c166d4e93ff839c055f7
363
+ test/standard_mappings_test.rb:
364
+ comments:
365
+ reviewed_by: timgentry
366
+ safe_revision: 3c7f827d17aacbf7b811eea67e27553f3b039070
367
+ test/table_test.rb:
368
+ comments:
369
+ reviewed_by: timgentry
370
+ safe_revision: 2dc6d533dd8be4b81b6a5d5a2baf3759afc0dcff
371
+ test/test_helper.rb:
372
+ comments:
373
+ reviewed_by: timgentry
374
+ safe_revision: 3c7f827d17aacbf7b811eea67e27553f3b039070