ncs_mdes 0.11.0 → 0.12.0
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.
- data/CHANGELOG.md +16 -0
- data/Gemfile +1 -1
- data/README.md +15 -5
- data/bin/mdes-console +3 -1
- data/documents/1.2/child_or_parent_instrument_tables.yml +28 -0
- data/documents/2.0/child_or_parent_instrument_tables.yml +68 -0
- data/documents/2.1/child_or_parent_instrument_tables.yml +74 -0
- data/documents/2.2/child_or_parent_instrument_tables.yml +98 -0
- data/documents/3.0/child_or_parent_instrument_tables.yml +119 -0
- data/documents/3.1/child_or_parent_instrument_tables.yml +187 -0
- data/documents/3.2/child_or_parent_instrument_tables.yml +192 -0
- data/documents/scan_p_ids_for_children.rb +39 -0
- data/lib/ncs_navigator/mdes/code_list.rb +94 -0
- data/lib/ncs_navigator/mdes/differences/collection.rb +47 -0
- data/lib/ncs_navigator/mdes/differences/collection_criterion.rb +59 -0
- data/lib/ncs_navigator/mdes/differences/entry.rb +48 -0
- data/lib/ncs_navigator/mdes/differences/value.rb +7 -0
- data/lib/ncs_navigator/mdes/differences/value_criterion.rb +58 -0
- data/lib/ncs_navigator/mdes/differences.rb +12 -0
- data/lib/ncs_navigator/mdes/source_documents.rb +27 -0
- data/lib/ncs_navigator/mdes/specification.rb +45 -0
- data/lib/ncs_navigator/mdes/transmission_table.rb +61 -0
- data/lib/ncs_navigator/mdes/variable.rb +58 -4
- data/lib/ncs_navigator/mdes/variable_type.rb +27 -62
- data/lib/ncs_navigator/mdes/version.rb +1 -1
- data/lib/ncs_navigator/mdes.rb +5 -1
- data/spec/differences_matchers.rb +40 -0
- data/spec/ncs_navigator/mdes/code_list_spec.rb +178 -0
- data/spec/ncs_navigator/mdes/source_documents_spec.rb +14 -0
- data/spec/ncs_navigator/mdes/specification_spec.rb +30 -0
- data/spec/ncs_navigator/mdes/transmission_table_spec.rb +77 -0
- data/spec/ncs_navigator/mdes/variable_spec.rb +244 -0
- data/spec/ncs_navigator/mdes/variable_type_spec.rb +161 -40
- data/spec/spec_helper.rb +6 -0
- metadata +24 -5
@@ -230,6 +230,250 @@ XSD
|
|
230
230
|
end
|
231
231
|
end
|
232
232
|
|
233
|
+
describe '#diff' do
|
234
|
+
let(:a) { Variable.new('A') }
|
235
|
+
let(:aprime) { Variable.new('A') }
|
236
|
+
|
237
|
+
let(:differences) { a.diff(aprime) }
|
238
|
+
|
239
|
+
describe 'name' do
|
240
|
+
it 'reports a difference when they are different' do
|
241
|
+
a.diff(Variable.new('B'))[:name].should be_a_value_diff('A', 'B')
|
242
|
+
end
|
243
|
+
|
244
|
+
it 'reports nothing when they are the same' do
|
245
|
+
differences.should be_nil
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
describe 'pii' do
|
250
|
+
it 'reports a difference when they are different' do
|
251
|
+
a.pii = true
|
252
|
+
aprime.pii = :possible
|
253
|
+
|
254
|
+
differences[:pii].should be_a_value_diff(true, :possible)
|
255
|
+
end
|
256
|
+
|
257
|
+
it 'reports nothing when they are the same' do
|
258
|
+
a.pii = :unknown
|
259
|
+
aprime.pii = :unknown
|
260
|
+
|
261
|
+
differences.should be_nil
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
describe 'status' do
|
266
|
+
let(:diff) { a.diff(aprime) }
|
267
|
+
let(:strict_diff) { a.diff(aprime, :strict => true) }
|
268
|
+
|
269
|
+
it 'reports nothing when they are the same' do
|
270
|
+
a.status = :active
|
271
|
+
aprime.status = :active
|
272
|
+
|
273
|
+
differences.should be_nil
|
274
|
+
end
|
275
|
+
|
276
|
+
loose_same =[
|
277
|
+
[ :new, :active],
|
278
|
+
[ :new, :modified],
|
279
|
+
[ :active, :modified],
|
280
|
+
[:modified, :active]
|
281
|
+
]
|
282
|
+
|
283
|
+
loose_or_strict_different = [
|
284
|
+
[ :new, :retired],
|
285
|
+
[ :active, :retired],
|
286
|
+
[:modified, :retired],
|
287
|
+
['a thing', :retired],
|
288
|
+
|
289
|
+
[ :new, 'some string'],
|
290
|
+
[ :active, 'some string'],
|
291
|
+
[:modified, 'some string'],
|
292
|
+
[ :retired, 'some string'],
|
293
|
+
|
294
|
+
[ :active, :new],
|
295
|
+
[:modified, :new],
|
296
|
+
[ :retired, :new],
|
297
|
+
['a thing', :new],
|
298
|
+
|
299
|
+
[ :retired, :active],
|
300
|
+
['a thing', :active],
|
301
|
+
|
302
|
+
[ :retired, :modified],
|
303
|
+
['a thing', :modified],
|
304
|
+
]
|
305
|
+
|
306
|
+
describe 'for a non-strict diff' do
|
307
|
+
loose_same.each do |left, right|
|
308
|
+
it "reports nothing for #{left.inspect} -> #{right.inspect}" do
|
309
|
+
a.status = left
|
310
|
+
aprime.status = right
|
311
|
+
|
312
|
+
diff.should be_nil
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
loose_or_strict_different.each do |left, right|
|
317
|
+
it "reports a difference for #{left.inspect} -> #{right.inspect}" do
|
318
|
+
a.status = left
|
319
|
+
aprime.status = right
|
320
|
+
|
321
|
+
diff[:status].should be_a_value_diff(left, right)
|
322
|
+
end
|
323
|
+
end
|
324
|
+
end
|
325
|
+
|
326
|
+
describe 'for a strict diff' do
|
327
|
+
(loose_same + loose_or_strict_different).each do |left, right|
|
328
|
+
it "reports a difference for #{left.inspect} -> #{right.inspect}" do
|
329
|
+
a.status = left
|
330
|
+
aprime.status = right
|
331
|
+
|
332
|
+
strict_diff[:status].should be_a_value_diff(left, right)
|
333
|
+
end
|
334
|
+
end
|
335
|
+
end
|
336
|
+
end
|
337
|
+
|
338
|
+
describe 'type' do
|
339
|
+
let(:type) { VariableType.new }
|
340
|
+
let(:typeprime) { VariableType.new }
|
341
|
+
|
342
|
+
before do
|
343
|
+
a.type = type
|
344
|
+
aprime.type = typeprime
|
345
|
+
end
|
346
|
+
|
347
|
+
describe 'when both have an anonymous type' do
|
348
|
+
it 'reports the differences when they are different' do
|
349
|
+
type.base_type = :int
|
350
|
+
typeprime.base_type = :string
|
351
|
+
|
352
|
+
differences[:type][:base_type].should be_a_value_diff(:int, :string)
|
353
|
+
end
|
354
|
+
|
355
|
+
it 'reports nothing for when they are the same' do
|
356
|
+
type.max_length = typeprime.max_length = 15
|
357
|
+
|
358
|
+
differences.should be_nil
|
359
|
+
end
|
360
|
+
end
|
361
|
+
|
362
|
+
describe 'when both have a named type' do
|
363
|
+
describe 'and the names differ' do
|
364
|
+
let(:type) { VariableType.new('f_oo').tap { |vt| vt.min_length = 10 } }
|
365
|
+
let(:typeprime) { VariableType.new('b_az') }
|
366
|
+
|
367
|
+
it 'reports the name difference' do
|
368
|
+
differences[:type][:name].should be_a_value_diff('f_oo', 'b_az')
|
369
|
+
end
|
370
|
+
|
371
|
+
it 'reports other differences' do
|
372
|
+
differences[:type][:min_length].should be_a_value_diff(10, nil)
|
373
|
+
end
|
374
|
+
end
|
375
|
+
|
376
|
+
# Motivation: a named type is resolved from the specification types
|
377
|
+
# collection. What's important at the point of this variable is that
|
378
|
+
# the type has changed; the details will be covered in the diff of
|
379
|
+
# the types. No need to repeat them for every variable that used that
|
380
|
+
# type
|
381
|
+
describe 'and the names are the same' do
|
382
|
+
let(:type) { VariableType.new('b_az').tap { |vt| vt.min_length = 10 } }
|
383
|
+
let(:typeprime) { VariableType.new('b_az') }
|
384
|
+
|
385
|
+
it 'does not report other differences' do
|
386
|
+
differences.should be_nil
|
387
|
+
end
|
388
|
+
end
|
389
|
+
end
|
390
|
+
|
391
|
+
describe 'when the left is named and the right is not' do
|
392
|
+
let(:type) { VariableType.new('b_ar').tap { |vt| vt.min_length = 5 } }
|
393
|
+
let(:typeprime) { VariableType.new.tap { |vt| vt.min_length = 6 } }
|
394
|
+
|
395
|
+
it 'reports the name difference' do
|
396
|
+
differences[:type][:name].should be_a_value_diff('b_ar', nil)
|
397
|
+
end
|
398
|
+
|
399
|
+
it 'reports the other differences' do
|
400
|
+
differences[:type][:min_length].should be_a_value_diff(5, 6)
|
401
|
+
end
|
402
|
+
end
|
403
|
+
|
404
|
+
describe 'when the right is named and the left is not' do
|
405
|
+
let(:type) { VariableType.new.tap { |vt| vt.min_length = 6 } }
|
406
|
+
let(:typeprime) { VariableType.new('b_ar').tap { |vt| vt.min_length = 5 } }
|
407
|
+
|
408
|
+
it 'reports the name difference' do
|
409
|
+
differences[:type][:name].should be_a_value_diff(nil, 'b_ar')
|
410
|
+
end
|
411
|
+
|
412
|
+
it 'reports the other differences' do
|
413
|
+
differences[:type][:min_length].should be_a_value_diff(6, 5)
|
414
|
+
end
|
415
|
+
end
|
416
|
+
end
|
417
|
+
|
418
|
+
describe 'omittable' do
|
419
|
+
it 'reports nothing when they are the same' do
|
420
|
+
a.omittable = false
|
421
|
+
aprime.omittable = nil
|
422
|
+
|
423
|
+
differences.should be_nil
|
424
|
+
end
|
425
|
+
|
426
|
+
it 'reports a difference when they are different' do
|
427
|
+
a.omittable = false
|
428
|
+
aprime.omittable = true
|
429
|
+
|
430
|
+
differences[:omittable?].should be_a_value_diff(false, true)
|
431
|
+
end
|
432
|
+
end
|
433
|
+
|
434
|
+
describe 'nillable' do
|
435
|
+
it 'reports nothing when they are the same' do
|
436
|
+
a.nillable = nil
|
437
|
+
aprime.nillable = false
|
438
|
+
|
439
|
+
differences.should be_nil
|
440
|
+
end
|
441
|
+
|
442
|
+
it 'reports a difference when they are different' do
|
443
|
+
a.nillable = true
|
444
|
+
aprime.nillable = false
|
445
|
+
|
446
|
+
differences[:nillable?].should be_a_value_diff(true, false)
|
447
|
+
end
|
448
|
+
end
|
449
|
+
|
450
|
+
describe 'table_reference' do
|
451
|
+
it 'reports nothing when they are the same' do
|
452
|
+
a.table_reference = TransmissionTable.new('Tb')
|
453
|
+
aprime.table_reference = TransmissionTable.new('Tb')
|
454
|
+
|
455
|
+
differences.should be_nil
|
456
|
+
end
|
457
|
+
|
458
|
+
it 'reports nothing when they are both nil' do
|
459
|
+
differences.should be_nil
|
460
|
+
end
|
461
|
+
|
462
|
+
it 'reports a change when one has a ref and the other does not' do
|
463
|
+
aprime.table_reference = TransmissionTable.new('Tc')
|
464
|
+
|
465
|
+
differences[:table_reference].should be_a_value_diff(nil, 'Tc')
|
466
|
+
end
|
467
|
+
|
468
|
+
it 'reports a change when the referenced table is different' do
|
469
|
+
a.table_reference = TransmissionTable.new('Ty')
|
470
|
+
aprime.table_reference = TransmissionTable.new('Tx')
|
471
|
+
|
472
|
+
differences[:table_reference].should be_a_value_diff('Ty', 'Tx')
|
473
|
+
end
|
474
|
+
end
|
475
|
+
end
|
476
|
+
|
233
477
|
describe '#resolve_type!' do
|
234
478
|
let(:reference_type) { VariableType.reference('ncs:color_cl3') }
|
235
479
|
let(:actual_type) { VariableType.new('color_cl3') }
|
@@ -149,65 +149,186 @@ module NcsNavigator::Mdes
|
|
149
149
|
subject.should_not be_reference
|
150
150
|
end
|
151
151
|
end
|
152
|
-
end
|
153
152
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
VariableType::CodeListEntry.from_xsd_enumeration(schema_element(xml_s), :log => logger)
|
158
|
-
end
|
153
|
+
describe '#diff' do
|
154
|
+
let(:a) { VariableType.new('A') }
|
155
|
+
let(:aprime) { VariableType.new('A') }
|
159
156
|
|
160
|
-
let(:
|
161
|
-
|
162
|
-
<xs:enumeration value="-4" ncsdoc:label="Missing in Error" ncsdoc:desc="" ncsdoc:global_value="99-4" ncsdoc:master_cl="missing_data"/>
|
163
|
-
XSD
|
164
|
-
}
|
157
|
+
let(:diff) { a.diff(aprime) }
|
158
|
+
let(:strict_diff) { a.diff(aprime, :strict => true) }
|
165
159
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
end
|
160
|
+
it 'reports nothing when they are the same' do
|
161
|
+
diff.should be_nil
|
162
|
+
end
|
170
163
|
|
171
|
-
|
172
|
-
|
173
|
-
|
164
|
+
describe 'name' do
|
165
|
+
it 'reports a difference' do
|
166
|
+
a.diff(VariableType.new('B'))[:name].should be_a_value_diff('A', 'B')
|
174
167
|
end
|
168
|
+
end
|
175
169
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
XSD
|
181
|
-
}
|
170
|
+
describe 'base_type' do
|
171
|
+
it 'reports a difference' do
|
172
|
+
a.base_type = :int
|
173
|
+
aprime.base_type = :decimal
|
182
174
|
|
183
|
-
|
184
|
-
missing.value.should == '-4'
|
185
|
-
end
|
175
|
+
diff[:base_type].should be_a_value_diff(:int, :decimal)
|
186
176
|
end
|
187
177
|
end
|
188
178
|
|
189
|
-
describe
|
190
|
-
it '
|
191
|
-
|
179
|
+
describe 'pattern' do
|
180
|
+
it 'reports a difference' do
|
181
|
+
a.pattern = /^(0-9){4}$/
|
182
|
+
aprime.pattern = /^(0-9){5}$/
|
183
|
+
|
184
|
+
diff[:pattern].should be_a_value_diff(/^(0-9){4}$/, /^(0-9){5}$/)
|
192
185
|
end
|
193
186
|
end
|
194
187
|
|
195
|
-
describe '
|
196
|
-
it '
|
197
|
-
|
188
|
+
describe 'max_length' do
|
189
|
+
it 'reports a difference' do
|
190
|
+
a.max_length = nil
|
191
|
+
aprime.max_length = 18
|
192
|
+
|
193
|
+
diff[:max_length].should be_a_value_diff(nil, 18)
|
198
194
|
end
|
199
195
|
end
|
200
196
|
|
201
|
-
describe '
|
202
|
-
it '
|
203
|
-
|
197
|
+
describe 'min_length' do
|
198
|
+
it 'reports a difference' do
|
199
|
+
a.min_length = 1
|
200
|
+
aprime.min_length = nil
|
201
|
+
|
202
|
+
diff[:min_length].should be_a_value_diff(1, nil)
|
204
203
|
end
|
205
204
|
end
|
206
|
-
end
|
207
205
|
|
208
|
-
|
209
|
-
|
210
|
-
|
206
|
+
describe 'code_list' do
|
207
|
+
let(:cl) { CodeList.new }
|
208
|
+
let(:clprime) { CodeList.new }
|
209
|
+
|
210
|
+
def cle(value, label)
|
211
|
+
CodeListEntry.new(value).tap { |e| e.label = label }
|
212
|
+
end
|
213
|
+
|
214
|
+
let(:e_one) { cle( '1', 'Hand grenades')}
|
215
|
+
let(:e_five) { cle( '5', 'Horseshoes') }
|
216
|
+
let(:e_other) { cle('-5', 'Other') }
|
217
|
+
let(:e_other_prime) { cle( '5', 'Other') }
|
218
|
+
|
219
|
+
describe 'when only the left has a code list' do
|
220
|
+
before do
|
221
|
+
a.code_list = cl
|
222
|
+
cl << e_one << e_other
|
223
|
+
end
|
224
|
+
|
225
|
+
it 'reports all entries as left only by value' do
|
226
|
+
strict_diff[:code_list_by_value].left_only.should == %w(1 -5)
|
227
|
+
end
|
228
|
+
|
229
|
+
it 'reports all entries as left only by label' do
|
230
|
+
strict_diff[:code_list_by_label].left_only.should == ['Hand grenades', 'Other']
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
describe 'when only the right has a code list' do
|
235
|
+
before do
|
236
|
+
aprime.code_list = clprime
|
237
|
+
clprime << e_five << e_other
|
238
|
+
end
|
239
|
+
|
240
|
+
it 'reports all entries as right only by value' do
|
241
|
+
strict_diff[:code_list_by_value].right_only.should == %w(5 -5)
|
242
|
+
end
|
243
|
+
|
244
|
+
it 'reports all entries as right only by label' do
|
245
|
+
strict_diff[:code_list_by_label].right_only.should == ['Horseshoes', 'Other']
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
describe 'when both have code lists' do
|
250
|
+
before do
|
251
|
+
a.code_list = cl
|
252
|
+
aprime.code_list = clprime
|
253
|
+
end
|
254
|
+
|
255
|
+
describe 'and they are the same' do
|
256
|
+
before do
|
257
|
+
cl << e_one << e_five
|
258
|
+
clprime << e_one << e_five
|
259
|
+
end
|
260
|
+
|
261
|
+
it 'reports no differences' do
|
262
|
+
strict_diff.should be_nil
|
263
|
+
end
|
264
|
+
end
|
265
|
+
|
266
|
+
describe 'and they differ by values only' do
|
267
|
+
before do
|
268
|
+
cl << e_other << e_one
|
269
|
+
clprime << e_one << e_other_prime
|
270
|
+
end
|
271
|
+
|
272
|
+
it 'reports the entry difference in the by-label attribute' do
|
273
|
+
strict_diff[:code_list_by_label]['Other'][:value].
|
274
|
+
should be_a_value_diff('-5', '5')
|
275
|
+
end
|
276
|
+
|
277
|
+
it 'reports extra entries in the by-value attribute' do
|
278
|
+
strict_diff[:code_list_by_value].left_only.should == ['-5']
|
279
|
+
strict_diff[:code_list_by_value].right_only.should == ['5']
|
280
|
+
end
|
281
|
+
end
|
282
|
+
|
283
|
+
describe 'and they differ by labels only' do
|
284
|
+
before do
|
285
|
+
cl << e_one << e_five
|
286
|
+
clprime << e_one << e_other_prime
|
287
|
+
end
|
288
|
+
|
289
|
+
it 'reports the entry difference in the by-value attribute' do
|
290
|
+
strict_diff[:code_list_by_value]['5'][:label].
|
291
|
+
should be_a_value_diff('Horseshoes', 'Other')
|
292
|
+
end
|
293
|
+
|
294
|
+
it 'reports extra entries in the by-label attribute' do
|
295
|
+
strict_diff[:code_list_by_label].left_only.should == ['Horseshoes']
|
296
|
+
strict_diff[:code_list_by_label].right_only.should == ['Other']
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
describe 'and the differ by whitespace, punctuation and case in the labels only' do
|
301
|
+
let(:weird_left) { ' foUR! ' }
|
302
|
+
let(:weird_right) { 'FOUR#' }
|
303
|
+
|
304
|
+
before do
|
305
|
+
cl << e_one << cle('4', weird_left)
|
306
|
+
clprime << e_one << cle('4', weird_right)
|
307
|
+
end
|
308
|
+
|
309
|
+
describe 'with a strict diff' do
|
310
|
+
it 'reports the entry difference in the by-value attribute' do
|
311
|
+
strict_diff[:code_list_by_value]['4'][:label].
|
312
|
+
should be_a_value_diff(weird_left, weird_right)
|
313
|
+
end
|
314
|
+
|
315
|
+
it 'reports extra entries in the by-label attribute' do
|
316
|
+
strict_diff[:code_list_by_label].left_only.should == [weird_left]
|
317
|
+
strict_diff[:code_list_by_label].right_only.should == [weird_right]
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
describe 'with a loose diff' do
|
322
|
+
it 'reports no by-value differences' do
|
323
|
+
diff.should be_nil
|
324
|
+
end
|
325
|
+
|
326
|
+
it 'reports no by-label differences' do
|
327
|
+
diff.should be_nil
|
328
|
+
end
|
329
|
+
end
|
330
|
+
end
|
331
|
+
end
|
211
332
|
end
|
212
333
|
end
|
213
334
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,7 +4,13 @@ require 'nokogiri'
|
|
4
4
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
5
5
|
require 'ncs_navigator/mdes'
|
6
6
|
|
7
|
+
module NcsNavigator::Mdes::Spec; end
|
8
|
+
|
9
|
+
require 'differences_matchers'
|
10
|
+
|
7
11
|
RSpec.configure do |config|
|
12
|
+
config.include(NcsNavigator::Mdes::Spec::Matchers)
|
13
|
+
|
8
14
|
def logger
|
9
15
|
@logger ||= NcsNavigator::Mdes::Spec::AccumulatingLogger.new
|
10
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ncs_mdes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-03-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -117,31 +117,46 @@ files:
|
|
117
117
|
- bin/mdes-console
|
118
118
|
- ci-exec.sh
|
119
119
|
- documents/1.2/Data_Transmission_Schema_V1.2.xsd
|
120
|
+
- documents/1.2/child_or_parent_instrument_tables.yml
|
120
121
|
- documents/1.2/heuristic_overrides.yml
|
121
122
|
- documents/2.0/NCS_Transmission_Schema_2.0.01.02.xml
|
123
|
+
- documents/2.0/child_or_parent_instrument_tables.yml
|
122
124
|
- documents/2.0/disposition_codes.yml
|
123
125
|
- documents/2.0/heuristic_overrides.yml
|
124
126
|
- documents/2.1/NCS_Transmission_Schema_2.1.00.00.xsd
|
127
|
+
- documents/2.1/child_or_parent_instrument_tables.yml
|
125
128
|
- documents/2.1/disposition_codes.yml
|
126
129
|
- documents/2.1/extract_disposition_codes.rb
|
127
130
|
- documents/2.1/heuristic_overrides.yml
|
128
131
|
- documents/2.2/NCS_Transmission_Schema_2.2.01.01.xsd
|
132
|
+
- documents/2.2/child_or_parent_instrument_tables.yml
|
129
133
|
- documents/2.2/disposition_codes.yml
|
130
134
|
- documents/2.2/extract_disposition_codes.rb
|
131
135
|
- documents/2.2/heuristic_overrides.yml
|
132
136
|
- documents/3.0/NCS_Transmission_Schema_3.0.00.09.xsd
|
137
|
+
- documents/3.0/child_or_parent_instrument_tables.yml
|
133
138
|
- documents/3.0/disposition_codes.yml
|
134
139
|
- documents/3.0/extract_disposition_codes.rb
|
135
140
|
- documents/3.0/heuristic_overrides.yml
|
136
141
|
- documents/3.1/NCS_Transmission_Schema_3.1.01.00.xsd
|
142
|
+
- documents/3.1/child_or_parent_instrument_tables.yml
|
137
143
|
- documents/3.1/disposition_codes.yml
|
138
144
|
- documents/3.1/extract_disposition_codes.rb
|
139
145
|
- documents/3.1/heuristic_overrides.yml
|
140
146
|
- documents/3.2/NCS_Transmission_Schema_3.2.00.00.xsd
|
147
|
+
- documents/3.2/child_or_parent_instrument_tables.yml
|
141
148
|
- documents/3.2/disposition_codes.yml
|
142
149
|
- documents/3.2/extract_disposition_codes.rb
|
143
150
|
- documents/3.2/heuristic_overrides.yml
|
151
|
+
- documents/scan_p_ids_for_children.rb
|
144
152
|
- lib/ncs_navigator/mdes.rb
|
153
|
+
- lib/ncs_navigator/mdes/code_list.rb
|
154
|
+
- lib/ncs_navigator/mdes/differences.rb
|
155
|
+
- lib/ncs_navigator/mdes/differences/collection.rb
|
156
|
+
- lib/ncs_navigator/mdes/differences/collection_criterion.rb
|
157
|
+
- lib/ncs_navigator/mdes/differences/entry.rb
|
158
|
+
- lib/ncs_navigator/mdes/differences/value.rb
|
159
|
+
- lib/ncs_navigator/mdes/differences/value_criterion.rb
|
145
160
|
- lib/ncs_navigator/mdes/disposition_code.rb
|
146
161
|
- lib/ncs_navigator/mdes/source_documents.rb
|
147
162
|
- lib/ncs_navigator/mdes/specification.rb
|
@@ -150,6 +165,8 @@ files:
|
|
150
165
|
- lib/ncs_navigator/mdes/variable_type.rb
|
151
166
|
- lib/ncs_navigator/mdes/version.rb
|
152
167
|
- ncs_mdes.gemspec
|
168
|
+
- spec/differences_matchers.rb
|
169
|
+
- spec/ncs_navigator/mdes/code_list_spec.rb
|
153
170
|
- spec/ncs_navigator/mdes/disposition_code_spec.rb
|
154
171
|
- spec/ncs_navigator/mdes/source_documents_spec.rb
|
155
172
|
- spec/ncs_navigator/mdes/specification_spec.rb
|
@@ -173,7 +190,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
173
190
|
version: '0'
|
174
191
|
segments:
|
175
192
|
- 0
|
176
|
-
hash: -
|
193
|
+
hash: -1618062826933135286
|
177
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
195
|
none: false
|
179
196
|
requirements:
|
@@ -182,14 +199,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
199
|
version: '0'
|
183
200
|
segments:
|
184
201
|
- 0
|
185
|
-
hash: -
|
202
|
+
hash: -1618062826933135286
|
186
203
|
requirements: []
|
187
204
|
rubyforge_project:
|
188
|
-
rubygems_version: 1.8.
|
205
|
+
rubygems_version: 1.8.25
|
189
206
|
signing_key:
|
190
207
|
specification_version: 3
|
191
208
|
summary: A ruby API for various versions of the NCS MDES.
|
192
209
|
test_files:
|
210
|
+
- spec/differences_matchers.rb
|
211
|
+
- spec/ncs_navigator/mdes/code_list_spec.rb
|
193
212
|
- spec/ncs_navigator/mdes/disposition_code_spec.rb
|
194
213
|
- spec/ncs_navigator/mdes/source_documents_spec.rb
|
195
214
|
- spec/ncs_navigator/mdes/specification_spec.rb
|