rsmp_schemer 0.3 → 0.3.1

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: e78a2bb9b9f856cf1d54f5fbe2671fcbb057f16535891e7b82eb03e8a64ceba6
4
- data.tar.gz: afdf626b6a073ade8286d7b9bd48412f3c97ab6058b9c08feb9c29364e69daec
3
+ metadata.gz: 3d922949f9fd92682d6f3af16ddebbb63c339724b397ced40ddc3406493f3853
4
+ data.tar.gz: 92185faeffff9f0c2be6178cf784baf171e8bf9897a2e6a89407cceb25612133
5
5
  SHA512:
6
- metadata.gz: ca7fdfd973726b4146abed20e83bbdd97b7b7f8eed7b745c49f34d376d8b610575c402fedf0584c80fadfeebf22a63e11981333f7df5ba07dd1abed96085797c
7
- data.tar.gz: f76cd381919d93cfda44aa6b44ba5db71bb2f04f84ab4b78538000d90844573e4a58d81efa2d9b7c11a74c945328624fec576e76a323b3d3e489bb451e8ea189
6
+ metadata.gz: 7dfdee34f17658596adee8541f650e6fa018f3aa1571c50c019d0944c100465e775baed876bf9d855b1830e5198f7cf2cc0cec810b73113b53e215ada168230c
7
+ data.tar.gz: 9278d033f5ed1b1f7211b8e5392bf8c1b2ed2e364abb0b1f39715adba339c9b3b6ac48b1dc342783b0523080e0e2a1b40d3e959492e1a49b14e2ec9611baf7db
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp_schemer (0.3)
4
+ rsmp_schemer (0.3.1)
5
5
  json_schemer (~> 0.2.18)
6
6
 
7
7
  GEM
@@ -83,13 +83,13 @@ module RSMP::Schemer
83
83
  find_schema(type,version, options) != nil
84
84
  end
85
85
 
86
- def self.validate message, schemas
86
+ def self.validate message, schemas, options={}
87
87
  raise ArgumentError.new("message missing") unless message
88
88
  raise ArgumentError.new("schemas missing") unless schemas
89
89
  raise ArgumentError.new("schemas must be a Hash") unless schemas.is_a?(Hash)
90
90
  raise ArgumentError.new("schemas cannot be empty") unless schemas.any?
91
91
  errors = schemas.flat_map do |type, version|
92
- schema = find_schema! type, version
92
+ schema = find_schema! type, version, options
93
93
  validate_using_schema(message, schema)
94
94
  end
95
95
  return nil if errors.empty?
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSMP
4
4
  module Schemer
5
- VERSION = "0.3"
5
+ VERSION = "0.3.1"
6
6
  end
7
7
  end
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -28,30 +28,14 @@
28
28
  "S0019",
29
29
  "S0020",
30
30
  "S0021",
31
- "S0022",
32
- "S0023",
33
- "S0024",
34
- "S0025",
35
- "S0026",
36
- "S0027",
37
- "S0028",
38
- "S0029",
39
- "S0030",
40
- "S0031",
41
31
  "S0091",
42
32
  "S0092",
43
33
  "S0095",
44
34
  "S0096",
45
- "S0097",
46
- "S0098",
47
35
  "S0201",
48
36
  "S0202",
49
37
  "S0203",
50
- "S0204",
51
- "S0205",
52
- "S0206",
53
- "S0207",
54
- "S0208"
38
+ "S0204"
55
39
  ]
56
40
  }
57
41
  }
@@ -371,156 +355,6 @@
371
355
  "$ref" : "S0021.json"
372
356
  }
373
357
  },
374
- {
375
- "if" : {
376
- "required" : [
377
- "sCI"
378
- ],
379
- "properties" : {
380
- "sCI" : {
381
- "const" : "S0022"
382
- }
383
- }
384
- },
385
- "then" : {
386
- "$ref" : "S0022.json"
387
- }
388
- },
389
- {
390
- "if" : {
391
- "required" : [
392
- "sCI"
393
- ],
394
- "properties" : {
395
- "sCI" : {
396
- "const" : "S0023"
397
- }
398
- }
399
- },
400
- "then" : {
401
- "$ref" : "S0023.json"
402
- }
403
- },
404
- {
405
- "if" : {
406
- "required" : [
407
- "sCI"
408
- ],
409
- "properties" : {
410
- "sCI" : {
411
- "const" : "S0024"
412
- }
413
- }
414
- },
415
- "then" : {
416
- "$ref" : "S0024.json"
417
- }
418
- },
419
- {
420
- "if" : {
421
- "required" : [
422
- "sCI"
423
- ],
424
- "properties" : {
425
- "sCI" : {
426
- "const" : "S0025"
427
- }
428
- }
429
- },
430
- "then" : {
431
- "$ref" : "S0025.json"
432
- }
433
- },
434
- {
435
- "if" : {
436
- "required" : [
437
- "sCI"
438
- ],
439
- "properties" : {
440
- "sCI" : {
441
- "const" : "S0026"
442
- }
443
- }
444
- },
445
- "then" : {
446
- "$ref" : "S0026.json"
447
- }
448
- },
449
- {
450
- "if" : {
451
- "required" : [
452
- "sCI"
453
- ],
454
- "properties" : {
455
- "sCI" : {
456
- "const" : "S0027"
457
- }
458
- }
459
- },
460
- "then" : {
461
- "$ref" : "S0027.json"
462
- }
463
- },
464
- {
465
- "if" : {
466
- "required" : [
467
- "sCI"
468
- ],
469
- "properties" : {
470
- "sCI" : {
471
- "const" : "S0028"
472
- }
473
- }
474
- },
475
- "then" : {
476
- "$ref" : "S0028.json"
477
- }
478
- },
479
- {
480
- "if" : {
481
- "required" : [
482
- "sCI"
483
- ],
484
- "properties" : {
485
- "sCI" : {
486
- "const" : "S0029"
487
- }
488
- }
489
- },
490
- "then" : {
491
- "$ref" : "S0029.json"
492
- }
493
- },
494
- {
495
- "if" : {
496
- "required" : [
497
- "sCI"
498
- ],
499
- "properties" : {
500
- "sCI" : {
501
- "const" : "S0030"
502
- }
503
- }
504
- },
505
- "then" : {
506
- "$ref" : "S0030.json"
507
- }
508
- },
509
- {
510
- "if" : {
511
- "required" : [
512
- "sCI"
513
- ],
514
- "properties" : {
515
- "sCI" : {
516
- "const" : "S0031"
517
- }
518
- }
519
- },
520
- "then" : {
521
- "$ref" : "S0031.json"
522
- }
523
- },
524
358
  {
525
359
  "if" : {
526
360
  "required" : [
@@ -581,36 +415,6 @@
581
415
  "$ref" : "S0096.json"
582
416
  }
583
417
  },
584
- {
585
- "if" : {
586
- "required" : [
587
- "sCI"
588
- ],
589
- "properties" : {
590
- "sCI" : {
591
- "const" : "S0097"
592
- }
593
- }
594
- },
595
- "then" : {
596
- "$ref" : "S0097.json"
597
- }
598
- },
599
- {
600
- "if" : {
601
- "required" : [
602
- "sCI"
603
- ],
604
- "properties" : {
605
- "sCI" : {
606
- "const" : "S0098"
607
- }
608
- }
609
- },
610
- "then" : {
611
- "$ref" : "S0098.json"
612
- }
613
- },
614
418
  {
615
419
  "if" : {
616
420
  "required" : [
@@ -670,66 +474,6 @@
670
474
  "then" : {
671
475
  "$ref" : "S0204.json"
672
476
  }
673
- },
674
- {
675
- "if" : {
676
- "required" : [
677
- "sCI"
678
- ],
679
- "properties" : {
680
- "sCI" : {
681
- "const" : "S0205"
682
- }
683
- }
684
- },
685
- "then" : {
686
- "$ref" : "S0205.json"
687
- }
688
- },
689
- {
690
- "if" : {
691
- "required" : [
692
- "sCI"
693
- ],
694
- "properties" : {
695
- "sCI" : {
696
- "const" : "S0206"
697
- }
698
- }
699
- },
700
- "then" : {
701
- "$ref" : "S0206.json"
702
- }
703
- },
704
- {
705
- "if" : {
706
- "required" : [
707
- "sCI"
708
- ],
709
- "properties" : {
710
- "sCI" : {
711
- "const" : "S0207"
712
- }
713
- }
714
- },
715
- "then" : {
716
- "$ref" : "S0207.json"
717
- }
718
- },
719
- {
720
- "if" : {
721
- "required" : [
722
- "sCI"
723
- ],
724
- "properties" : {
725
- "sCI" : {
726
- "const" : "S0208"
727
- }
728
- }
729
- },
730
- "then" : {
731
- "$ref" : "S0208.json"
732
- }
733
477
  }
734
478
  ]
735
479
  }
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -36,22 +36,14 @@
36
36
  "S0027",
37
37
  "S0028",
38
38
  "S0029",
39
- "S0030",
40
- "S0031",
41
39
  "S0091",
42
40
  "S0092",
43
41
  "S0095",
44
42
  "S0096",
45
- "S0097",
46
- "S0098",
47
43
  "S0201",
48
44
  "S0202",
49
45
  "S0203",
50
- "S0204",
51
- "S0205",
52
- "S0206",
53
- "S0207",
54
- "S0208"
46
+ "S0204"
55
47
  ]
56
48
  }
57
49
  }
@@ -491,36 +483,6 @@
491
483
  "$ref" : "S0029.json"
492
484
  }
493
485
  },
494
- {
495
- "if" : {
496
- "required" : [
497
- "sCI"
498
- ],
499
- "properties" : {
500
- "sCI" : {
501
- "const" : "S0030"
502
- }
503
- }
504
- },
505
- "then" : {
506
- "$ref" : "S0030.json"
507
- }
508
- },
509
- {
510
- "if" : {
511
- "required" : [
512
- "sCI"
513
- ],
514
- "properties" : {
515
- "sCI" : {
516
- "const" : "S0031"
517
- }
518
- }
519
- },
520
- "then" : {
521
- "$ref" : "S0031.json"
522
- }
523
- },
524
486
  {
525
487
  "if" : {
526
488
  "required" : [
@@ -670,66 +632,6 @@
670
632
  "then" : {
671
633
  "$ref" : "S0204.json"
672
634
  }
673
- },
674
- {
675
- "if" : {
676
- "required" : [
677
- "sCI"
678
- ],
679
- "properties" : {
680
- "sCI" : {
681
- "const" : "S0205"
682
- }
683
- }
684
- },
685
- "then" : {
686
- "$ref" : "S0205.json"
687
- }
688
- },
689
- {
690
- "if" : {
691
- "required" : [
692
- "sCI"
693
- ],
694
- "properties" : {
695
- "sCI" : {
696
- "const" : "S0206"
697
- }
698
- }
699
- },
700
- "then" : {
701
- "$ref" : "S0206.json"
702
- }
703
- },
704
- {
705
- "if" : {
706
- "required" : [
707
- "sCI"
708
- ],
709
- "properties" : {
710
- "sCI" : {
711
- "const" : "S0207"
712
- }
713
- }
714
- },
715
- "then" : {
716
- "$ref" : "S0207.json"
717
- }
718
- },
719
- {
720
- "if" : {
721
- "required" : [
722
- "sCI"
723
- ],
724
- "properties" : {
725
- "sCI" : {
726
- "const" : "S0208"
727
- }
728
- }
729
- },
730
- "then" : {
731
- "$ref" : "S0208.json"
732
- }
733
635
  }
734
636
  ]
735
637
  }
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -36,14 +36,10 @@
36
36
  "S0027",
37
37
  "S0028",
38
38
  "S0029",
39
- "S0030",
40
- "S0031",
41
39
  "S0091",
42
40
  "S0092",
43
41
  "S0095",
44
42
  "S0096",
45
- "S0097",
46
- "S0098",
47
43
  "S0201",
48
44
  "S0202",
49
45
  "S0203",
@@ -491,36 +487,6 @@
491
487
  "$ref" : "S0029.json"
492
488
  }
493
489
  },
494
- {
495
- "if" : {
496
- "required" : [
497
- "sCI"
498
- ],
499
- "properties" : {
500
- "sCI" : {
501
- "const" : "S0030"
502
- }
503
- }
504
- },
505
- "then" : {
506
- "$ref" : "S0030.json"
507
- }
508
- },
509
- {
510
- "if" : {
511
- "required" : [
512
- "sCI"
513
- ],
514
- "properties" : {
515
- "sCI" : {
516
- "const" : "S0031"
517
- }
518
- }
519
- },
520
- "then" : {
521
- "$ref" : "S0031.json"
522
- }
523
- },
524
490
  {
525
491
  "if" : {
526
492
  "required" : [
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -28,30 +28,14 @@
28
28
  "S0019",
29
29
  "S0020",
30
30
  "S0021",
31
- "S0022",
32
- "S0023",
33
- "S0024",
34
- "S0025",
35
- "S0026",
36
- "S0027",
37
- "S0028",
38
- "S0029",
39
- "S0030",
40
- "S0031",
41
31
  "S0091",
42
32
  "S0092",
43
33
  "S0095",
44
34
  "S0096",
45
- "S0097",
46
- "S0098",
47
35
  "S0201",
48
36
  "S0202",
49
37
  "S0203",
50
- "S0204",
51
- "S0205",
52
- "S0206",
53
- "S0207",
54
- "S0208"
38
+ "S0204"
55
39
  ]
56
40
  }
57
41
  }
@@ -670,66 +654,6 @@
670
654
  "then" : {
671
655
  "$ref" : "S0204.json"
672
656
  }
673
- },
674
- {
675
- "if" : {
676
- "required" : [
677
- "sCI"
678
- ],
679
- "properties" : {
680
- "sCI" : {
681
- "const" : "S0205"
682
- }
683
- }
684
- },
685
- "then" : {
686
- "$ref" : "S0205.json"
687
- }
688
- },
689
- {
690
- "if" : {
691
- "required" : [
692
- "sCI"
693
- ],
694
- "properties" : {
695
- "sCI" : {
696
- "const" : "S0206"
697
- }
698
- }
699
- },
700
- "then" : {
701
- "$ref" : "S0206.json"
702
- }
703
- },
704
- {
705
- "if" : {
706
- "required" : [
707
- "sCI"
708
- ],
709
- "properties" : {
710
- "sCI" : {
711
- "const" : "S0207"
712
- }
713
- }
714
- },
715
- "then" : {
716
- "$ref" : "S0207.json"
717
- }
718
- },
719
- {
720
- "if" : {
721
- "required" : [
722
- "sCI"
723
- ],
724
- "properties" : {
725
- "sCI" : {
726
- "const" : "S0208"
727
- }
728
- }
729
- },
730
- "then" : {
731
- "$ref" : "S0208.json"
732
- }
733
657
  }
734
658
  ]
735
659
  }
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -28,30 +28,14 @@
28
28
  "S0019",
29
29
  "S0020",
30
30
  "S0021",
31
- "S0022",
32
- "S0023",
33
- "S0024",
34
- "S0025",
35
- "S0026",
36
- "S0027",
37
- "S0028",
38
- "S0029",
39
- "S0030",
40
- "S0031",
41
31
  "S0091",
42
32
  "S0092",
43
33
  "S0095",
44
34
  "S0096",
45
- "S0097",
46
- "S0098",
47
35
  "S0201",
48
36
  "S0202",
49
37
  "S0203",
50
- "S0204",
51
- "S0205",
52
- "S0206",
53
- "S0207",
54
- "S0208"
38
+ "S0204"
55
39
  ]
56
40
  }
57
41
  }
@@ -670,66 +654,6 @@
670
654
  "then" : {
671
655
  "$ref" : "S0204.json"
672
656
  }
673
- },
674
- {
675
- "if" : {
676
- "required" : [
677
- "sCI"
678
- ],
679
- "properties" : {
680
- "sCI" : {
681
- "const" : "S0205"
682
- }
683
- }
684
- },
685
- "then" : {
686
- "$ref" : "S0205.json"
687
- }
688
- },
689
- {
690
- "if" : {
691
- "required" : [
692
- "sCI"
693
- ],
694
- "properties" : {
695
- "sCI" : {
696
- "const" : "S0206"
697
- }
698
- }
699
- },
700
- "then" : {
701
- "$ref" : "S0206.json"
702
- }
703
- },
704
- {
705
- "if" : {
706
- "required" : [
707
- "sCI"
708
- ],
709
- "properties" : {
710
- "sCI" : {
711
- "const" : "S0207"
712
- }
713
- }
714
- },
715
- "then" : {
716
- "$ref" : "S0207.json"
717
- }
718
- },
719
- {
720
- "if" : {
721
- "required" : [
722
- "sCI"
723
- ],
724
- "properties" : {
725
- "sCI" : {
726
- "const" : "S0208"
727
- }
728
- }
729
- },
730
- "then" : {
731
- "$ref" : "S0208.json"
732
- }
733
657
  }
734
658
  ]
735
659
  }
@@ -29,7 +29,7 @@
29
29
  "s" : {
30
30
  "description" : "Signal group status as text field",
31
31
  "type" : "string",
32
- "pattern" : "^[a-hA-G0-9N-P]+$"
32
+ "pattern" : "^[a-hA-G0-9N-P]*$"
33
33
  }
34
34
  }
35
35
  }
@@ -28,30 +28,14 @@
28
28
  "S0019",
29
29
  "S0020",
30
30
  "S0021",
31
- "S0022",
32
- "S0023",
33
- "S0024",
34
- "S0025",
35
- "S0026",
36
- "S0027",
37
- "S0028",
38
- "S0029",
39
- "S0030",
40
- "S0031",
41
31
  "S0091",
42
32
  "S0092",
43
33
  "S0095",
44
34
  "S0096",
45
- "S0097",
46
- "S0098",
47
35
  "S0201",
48
36
  "S0202",
49
37
  "S0203",
50
- "S0204",
51
- "S0205",
52
- "S0206",
53
- "S0207",
54
- "S0208"
38
+ "S0204"
55
39
  ]
56
40
  }
57
41
  }
@@ -670,66 +654,6 @@
670
654
  "then" : {
671
655
  "$ref" : "S0204.json"
672
656
  }
673
- },
674
- {
675
- "if" : {
676
- "required" : [
677
- "sCI"
678
- ],
679
- "properties" : {
680
- "sCI" : {
681
- "const" : "S0205"
682
- }
683
- }
684
- },
685
- "then" : {
686
- "$ref" : "S0205.json"
687
- }
688
- },
689
- {
690
- "if" : {
691
- "required" : [
692
- "sCI"
693
- ],
694
- "properties" : {
695
- "sCI" : {
696
- "const" : "S0206"
697
- }
698
- }
699
- },
700
- "then" : {
701
- "$ref" : "S0206.json"
702
- }
703
- },
704
- {
705
- "if" : {
706
- "required" : [
707
- "sCI"
708
- ],
709
- "properties" : {
710
- "sCI" : {
711
- "const" : "S0207"
712
- }
713
- }
714
- },
715
- "then" : {
716
- "$ref" : "S0207.json"
717
- }
718
- },
719
- {
720
- "if" : {
721
- "required" : [
722
- "sCI"
723
- ],
724
- "properties" : {
725
- "sCI" : {
726
- "const" : "S0208"
727
- }
728
- }
729
- },
730
- "then" : {
731
- "$ref" : "S0208.json"
732
- }
733
657
  }
734
658
  ]
735
659
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp_schemer
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-18 00:00:00.000000000 Z
11
+ date: 2021-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_schemer