ndr_import 8.2.0 → 8.3.0

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: f530e3c2d2fecb22289a673a1219b4d1830493c4d2417728f1ce6116f7f1b953
4
- data.tar.gz: 3208097b9fb246fc10b514ddc9fa21107b1de94bc7eefcb0ea884cc2b5d88616
3
+ metadata.gz: 82e0bb47cb3a5c62b7cd5701c7196760cf9977357490a0e9ce708c2d814a51fc
4
+ data.tar.gz: 111f781ab628de952d6b305e4fd7f0f8eb412b6c7b7b539dca2786e46904b05d
5
5
  SHA512:
6
- metadata.gz: ede70472e72bc8edda889ce03483706be25a8d5f3d1a3f05ea3863de0085e3df7bea6f6da9307daa7011dbee655d7caf6f6f36bd680e4f84f437f54e63792ac8
7
- data.tar.gz: '089787a8761ed13581726c43d4a805c598bff04ad1564c3b0ff997c1f9dfc620a6487b88a432a16db39b287fbe84b3e6de59de84aa61787413b7ebc8fe67bea2'
6
+ metadata.gz: f6d269d1d9e73ce154f7e8886a9109c16b74ba83d5b5c8f296f2c241609f1f5c9309afd08bee8538b34c36e534d48bacc5e1af6ff1fe89f89d9d30846c8841bc
7
+ data.tar.gz: e332a7c3af8857095e5f1dc0de7fd7693f7df4b639c3f1a34858b4f5c7af68b73dbff751142e485a0f836e7addf656043dd944816ad03ecf9b56797d8cd5a740
data/CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
1
  ## [Unreleased]
2
2
  *no unreleased changes*
3
3
 
4
+ ## 8.3.0 / 2019-03-04
5
+ ### Added
6
+ * Allow `klass` in the column level mapping to be embedded array.
7
+
4
8
  ## 8.2.0 / 2019-02-25
5
9
  ### Added
6
10
  * Support automatically generating a per row identifier with `row_identifier` (#34)
data/code_safety.yml CHANGED
@@ -19,7 +19,7 @@ file safety:
19
19
  CHANGELOG.md:
20
20
  comments:
21
21
  reviewed_by: josh.pencheon
22
- safe_revision: 640464d804e8eca15db14b8dfeb8c1ffa7d0fa85
22
+ safe_revision: 6271165699e2d886f94d45277baa955023e3f094
23
23
  CODE_OF_CONDUCT.md:
24
24
  comments:
25
25
  reviewed_by: timgentry
@@ -187,7 +187,7 @@ file safety:
187
187
  lib/ndr_import/table.rb:
188
188
  comments: uses File.basename
189
189
  reviewed_by: josh.pencheon
190
- safe_revision: fac9e62618a32fab7a09a4996d27e1e7437b7dfb
190
+ safe_revision: 04abeab4948a1e889d259d2a71a619af761ac1c3
191
191
  lib/ndr_import/universal_importer_helper.rb:
192
192
  comments:
193
193
  reviewed_by: josh.pencheon
@@ -195,7 +195,7 @@ file safety:
195
195
  lib/ndr_import/version.rb:
196
196
  comments: another check?
197
197
  reviewed_by: josh.pencheon
198
- safe_revision: 640464d804e8eca15db14b8dfeb8c1ffa7d0fa85
198
+ safe_revision: 6271165699e2d886f94d45277baa955023e3f094
199
199
  lib/ndr_import/xml/table.rb:
200
200
  comments:
201
201
  reviewed_by: josh.pencheon
@@ -479,7 +479,7 @@ file safety:
479
479
  test/table_test.rb:
480
480
  comments:
481
481
  reviewed_by: josh.pencheon
482
- safe_revision: fac9e62618a32fab7a09a4996d27e1e7437b7dfb
482
+ safe_revision: 04abeab4948a1e889d259d2a71a619af761ac1c3
483
483
  test/test_helper.rb:
484
484
  comments:
485
485
  reviewed_by: josh.pencheon
@@ -169,7 +169,7 @@ module NdrImport
169
169
  # relate to this klass, returning the masked mappings
170
170
  def mask_mappings_by_klass(klass)
171
171
  @columns.dup.map do |mapping|
172
- if Array(mapping['klass']).include?(klass)
172
+ if Array(mapping['klass']).flatten.include?(klass)
173
173
  mapping
174
174
  else
175
175
  { 'do_not_capture' => true }
@@ -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.2.0'.freeze
4
+ VERSION = '8.3.0'.freeze
5
5
  end
data/test/table_test.rb CHANGED
@@ -285,15 +285,16 @@ class TableTest < ActiveSupport::TestCase
285
285
  end
286
286
 
287
287
  def test_mask_mappings_by_klass
288
- table = NdrImport::Table.new(:header_lines => 2, :footer_lines => 1,
289
- :columns => column_level_klass_mapping)
288
+ table1 = NdrImport::Table.new(:header_lines => 2, :footer_lines => 1,
289
+ :columns => column_level_klass_mapping)
290
+
290
291
  some_test_klass_mapping = [
291
292
  { 'column' => 'one', 'klass' => 'SomeTestKlass' },
292
293
  { 'column' => 'two', 'klass' => %w(SomeTestKlass SomeOtherKlass) },
293
294
  { 'do_not_capture' => true }
294
295
  ]
295
296
  assert_equal some_test_klass_mapping,
296
- table.send(:mask_mappings_by_klass, 'SomeTestKlass')
297
+ table1.send(:mask_mappings_by_klass, 'SomeTestKlass')
297
298
 
298
299
  some_other_klass_mapping = [
299
300
  { 'do_not_capture' => true },
@@ -301,7 +302,26 @@ class TableTest < ActiveSupport::TestCase
301
302
  { 'column' => 'three', 'klass' => 'SomeOtherKlass' }
302
303
  ]
303
304
  assert_equal some_other_klass_mapping,
304
- table.send(:mask_mappings_by_klass, 'SomeOtherKlass')
305
+ table1.send(:mask_mappings_by_klass, 'SomeOtherKlass')
306
+
307
+ table2 = NdrImport::Table.new(:header_lines => 2, :footer_lines => 1,
308
+ :columns => column_level_klass_mapping_embedded_klasses)
309
+
310
+ some_test_klass_mapping_embedded_klasses = [
311
+ { 'column' => 'one', 'klass' => 'SomeTestKlass' },
312
+ { 'column' => 'two', 'klass' => [['SomeTestKlass'], 'SomeOtherKlass'] },
313
+ { 'do_not_capture' => true }
314
+ ]
315
+ assert_equal some_test_klass_mapping_embedded_klasses,
316
+ table2.send(:mask_mappings_by_klass, 'SomeTestKlass')
317
+
318
+ some_other_klass_mapping_embedded_klasses = [
319
+ { 'do_not_capture' => true },
320
+ { 'column' => 'two', 'klass' => [['SomeTestKlass'], 'SomeOtherKlass'] },
321
+ { 'column' => 'three', 'klass' => 'SomeOtherKlass' }
322
+ ]
323
+ assert_equal some_other_klass_mapping_embedded_klasses,
324
+ table2.send(:mask_mappings_by_klass, 'SomeOtherKlass')
305
325
  end
306
326
 
307
327
  def test_valid_single_line_header
@@ -493,6 +513,14 @@ YML
493
513
  ]
494
514
  end
495
515
 
516
+ def column_level_klass_mapping_embedded_klasses
517
+ [
518
+ { 'column' => 'one', 'klass' => 'SomeTestKlass' },
519
+ { 'column' => 'two', 'klass' => [['SomeTestKlass'], 'SomeOtherKlass'] },
520
+ { 'column' => 'three', 'klass' => 'SomeOtherKlass' }
521
+ ]
522
+ end
523
+
496
524
  def column_level_klass_masked_mappings
497
525
  {
498
526
  'SomeTestKlass' => [
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.2.0
4
+ version: 8.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - NCRS Development Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-25 00:00:00.000000000 Z
11
+ date: 2019-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel