pubid 2.0.0.pre.alpha.13 → 2.0.0.pre.alpha.14

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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/data/parg/tables/bipm_groups.yaml +14 -0
  3. data/data/parg/tables/bipm_type_codes.yaml +5 -0
  4. data/data/parg/tables/bipm_type_names_en.yaml +6 -0
  5. data/data/parg/tables/bipm_type_names_fr.yaml +6 -0
  6. data/data/parg/tables/directives_supplements_typed_stages.yaml +3 -0
  7. data/data/parg/tables/directives_typed_stages.yaml +5 -0
  8. data/data/parg/tables/idf_typed_stages.yaml +27 -0
  9. data/data/parg/tables/idf_typed_stages_supplements.yaml +2 -0
  10. data/data/parg/tables/iec_typed_stages.yaml +130 -0
  11. data/data/parg/tables/iso_publishers.yaml +4 -0
  12. data/data/parg/tables/organizations.yaml +12 -0
  13. data/data/parg/tables/tc_types.yaml +42 -0
  14. data/data/parg/tables/typed_stages.yaml +114 -0
  15. data/data/parg/tables/typed_stages_supplements.yaml +64 -0
  16. data/data/parg/tables/wg_types.yaml +21 -0
  17. data/lib/pubid/adobe/identifier.rb +11 -1
  18. data/lib/pubid/amca/identifiers/base.rb +1 -1
  19. data/lib/pubid/ansi/identifier.rb +1 -1
  20. data/lib/pubid/api/identifier.rb +1 -1
  21. data/lib/pubid/api/parser.rb +8 -4
  22. data/lib/pubid/ashrae/identifiers/base.rb +10 -1
  23. data/lib/pubid/ashrae/parser.rb +18 -11
  24. data/lib/pubid/asme/identifier.rb +1 -1
  25. data/lib/pubid/astm/identifier.rb +1 -1
  26. data/lib/pubid/bipm/identifier.rb +1 -1
  27. data/lib/pubid/bsi/single_identifier.rb +1 -3
  28. data/lib/pubid/calconnect/identifier.rb +1 -1
  29. data/lib/pubid/ccsds/identifier.rb +1 -1
  30. data/lib/pubid/cen_cenelec/identifier.rb +2 -1
  31. data/lib/pubid/cen_cenelec/parser.rb +9 -2
  32. data/lib/pubid/cie/identifier.rb +1 -1
  33. data/lib/pubid/cie/parser.rb +9 -2
  34. data/lib/pubid/conformance/checks.rb +1 -1
  35. data/lib/pubid/csa/identifier.rb +6 -2
  36. data/lib/pubid/csa/parser.rb +25 -8
  37. data/lib/pubid/doi/identifier.rb +1 -1
  38. data/lib/pubid/easc/identifier.rb +10 -1
  39. data/lib/pubid/ecma/identifier.rb +1 -1
  40. data/lib/pubid/etsi/identifiers/base.rb +1 -1
  41. data/lib/pubid/evs.rb +1 -1
  42. data/lib/pubid/gb/identifier.rb +1 -1
  43. data/lib/pubid/gost/identifier.rb +11 -1
  44. data/lib/pubid/gost/parser.rb +8 -1
  45. data/lib/pubid/iala/identifier.rb +10 -1
  46. data/lib/pubid/iana/identifier.rb +1 -1
  47. data/lib/pubid/idf/builder.rb +5 -0
  48. data/lib/pubid/iec/identifier.rb +1 -1
  49. data/lib/pubid/iec/parser.rb +9 -4
  50. data/lib/pubid/ieee/builder.rb +61 -23
  51. data/lib/pubid/ieee/identifiers/base.rb +1 -1
  52. data/lib/pubid/ieee/identifiers/joint_development.rb +55 -19
  53. data/lib/pubid/ieee/parser.rb +25 -11
  54. data/lib/pubid/ieee/renderer.rb +5 -3
  55. data/lib/pubid/ietf/identifiers/base.rb +1 -1
  56. data/lib/pubid/isbn/identifier.rb +1 -1
  57. data/lib/pubid/iso/identifier.rb +4 -1
  58. data/lib/pubid/iso/normalizer.rb +4 -1
  59. data/lib/pubid/itu/CLAUDE.md +46 -0
  60. data/lib/pubid/itu/builder.rb +24 -4
  61. data/lib/pubid/itu/identifiers/base.rb +11 -18
  62. data/lib/pubid/itu/identifiers/radio_regulations.rb +27 -0
  63. data/lib/pubid/itu/identifiers/special_publication.rb +48 -14
  64. data/lib/pubid/itu/identifiers/standard_serialization.rb +2 -0
  65. data/lib/pubid/itu/identifiers.rb +1 -0
  66. data/lib/pubid/itu/parser.rb +108 -22
  67. data/lib/pubid/itu/urn_generator.rb +9 -2
  68. data/lib/pubid/jcgm.rb +1 -1
  69. data/lib/pubid/jis/identifier.rb +1 -1
  70. data/lib/pubid/nist/builder.rb +1 -0
  71. data/lib/pubid/nist/identifiers/base.rb +15 -4
  72. data/lib/pubid/nist/parser.rb +9 -0
  73. data/lib/pubid/nist/urn_parser.rb +10 -1
  74. data/lib/pubid/oasis/identifier.rb +1 -1
  75. data/lib/pubid/ogc/identifier.rb +1 -1
  76. data/lib/pubid/oiml.rb +1 -1
  77. data/lib/pubid/omg/identifier.rb +1 -1
  78. data/lib/pubid/parg/artifact.rb +46 -0
  79. data/lib/pubid/parg/backend.rb +92 -0
  80. data/lib/pubid/parg.rb +8 -0
  81. data/lib/pubid/pg.rb +8 -0
  82. data/lib/pubid/plateau.rb +1 -2
  83. data/lib/pubid/sae/identifiers/base.rb +1 -1
  84. data/lib/pubid/tgpp/identifier.rb +1 -1
  85. data/lib/pubid/un/identifier.rb +1 -1
  86. data/lib/pubid/version.rb +1 -1
  87. data/lib/pubid/w3c/identifier.rb +1 -1
  88. data/lib/pubid/xsf/identifier.rb +1 -1
  89. data/lib/pubid.rb +1 -0
  90. metadata +36 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 177a3443a2daa5ff1848fb31a5136ea7eb05986005590c5938b0ae88874b3ef2
4
- data.tar.gz: 4eeb9f9a26023aa610e821951febd68b5ef5a30db366eeeef07d595e67097557
3
+ metadata.gz: 1475b96fcd97e5eca24964c4282ad9d29eff542fab83382bd8790a1a48785a83
4
+ data.tar.gz: e9008adf5740b07189daff5988b4962243ccdc8b500564372ec51b2e48ab0518
5
5
  SHA512:
6
- metadata.gz: 6d1a4ad6d0ec70be65ed8e8773c92feda1f63ec623ff59ee4e15a92683e762fa7ed9fc687391d8456731cfe6120c1ef144971422002ecdc9dfe40dfb5482959a
7
- data.tar.gz: fa1d3d71d2dd96d24ac9e4804a8be54ecfbe02b8fd460a329f0ae6aa2366838670ed5242a3bb3f3d94b5e325dc6494902a94223a94a9ef377374f8ac8baf8fc3
6
+ metadata.gz: 662c3d5ff4c9c1d97e0e7b7d170bf23cb22c9cfcf76584e91456f3120ad4ff93847f73db6aae760673e905897cf9b1f1a9756c68b586d76c946056617ee672d2
7
+ data.tar.gz: b4f2f1cd32abc1e8eb1a8ac2411a9a016eaf351928932916171a2806c12f484f74d018913bbd3d705d3abfd742860fac125479e417346073dd20360e25068990
@@ -0,0 +1,14 @@
1
+ - name: "CCAUV"
2
+ - name: "CCDS"
3
+ - name: "CCRI"
4
+ - name: "CCPR"
5
+ - name: "CCEM"
6
+ - name: "CCQM"
7
+ - name: "CCTF"
8
+ - name: "JCRB"
9
+ - name: "CGPM"
10
+ - name: "CIPM"
11
+ - name: "CCM"
12
+ - name: "CCU"
13
+ - name: "CCL"
14
+ - name: "CCT"
@@ -0,0 +1,5 @@
1
+ - name: "DECL"
2
+ - name: "DECN"
3
+ - name: "ACT"
4
+ - name: "RES"
5
+ - name: "REC"
@@ -0,0 +1,6 @@
1
+ - name: "Recommendation"
2
+ - name: "Declaration"
3
+ - name: "Resolution"
4
+ - name: "Statement"
5
+ - name: "Decision"
6
+ - name: "Action"
@@ -0,0 +1,6 @@
1
+ - name: "Recommandation"
2
+ - name: "Déclaration"
3
+ - name: "Résolution"
4
+ - name: "Statement"
5
+ - name: "Décision"
6
+ - name: "Action"
@@ -0,0 +1,3 @@
1
+ - abbr: "DIR SUP"
2
+ - abbr: "SUP"
3
+ - abbr: "Supplement"
@@ -0,0 +1,5 @@
1
+ - abbr: "DIR"
2
+ - abbr: "Directives Part"
3
+ - abbr: "Directives, Part"
4
+ - abbr: "Directives,"
5
+ - abbr: "Directives"
@@ -0,0 +1,27 @@
1
+ - abbr: "PWI RM"
2
+ - abbr: "NP RM"
3
+ - abbr: "AWI RM"
4
+ - abbr: "WD RM"
5
+ - abbr: "CD RM"
6
+ - abbr: "PDRM"
7
+ - abbr: "DRM"
8
+ - abbr: "FDRM"
9
+ - abbr: "PRF RM"
10
+ - abbr: "RM"
11
+ - abbr: "AMD"
12
+ - abbr: "COR"
13
+ - abbr: "PWI"
14
+ - abbr: "NP"
15
+ - abbr: "NWIP"
16
+ - abbr: "AWI"
17
+ - abbr: "WD"
18
+ - abbr: "CD"
19
+ - abbr: "FCD"
20
+ - abbr: "DIS"
21
+ - abbr: "FPD"
22
+ - abbr: "FDIS"
23
+ - abbr: "PRF"
24
+ - abbr: "Fpr"
25
+ - abbr: "WDR"
26
+ - abbr: "WDA"
27
+ - abbr: "WDAR"
@@ -0,0 +1,2 @@
1
+ - abbr: "AMD"
2
+ - abbr: "COR"
@@ -0,0 +1,130 @@
1
+ - abbr: "TRF"
2
+ - abbr: "PWI Amd"
3
+ - abbr: "NP Amd"
4
+ - abbr: "ANW Amd"
5
+ - abbr: "WD Amd"
6
+ - abbr: "CDAM"
7
+ - abbr: "DAM"
8
+ - abbr: "FDAM"
9
+ - abbr: "PRF Amd"
10
+ - abbr: "Amd"
11
+ - abbr: "AMD"
12
+ - abbr: "PWI Cor"
13
+ - abbr: "NP Cor"
14
+ - abbr: "ANW Cor"
15
+ - abbr: "WDCor"
16
+ - abbr: "CDCor"
17
+ - abbr: "DCOR"
18
+ - abbr: "FDCOR"
19
+ - abbr: "PRF Cor"
20
+ - abbr: "Cor"
21
+ - abbr: "COR"
22
+ - abbr: "CS"
23
+ - abbr: "CA"
24
+ - abbr: "PWI Guide"
25
+ - abbr: "NP Guide"
26
+ - abbr: "ANW Guide"
27
+ - abbr: "WD Guide"
28
+ - abbr: "CD Guide"
29
+ - abbr: "DGuide"
30
+ - abbr: "FDGuide"
31
+ - abbr: "PRF Guide"
32
+ - abbr: "GUIDE"
33
+ - abbr: "Guide"
34
+ - abbr: "PWI"
35
+ - abbr: "NWIP"
36
+ - abbr: "BWG"
37
+ - abbr: "AWIN"
38
+ - abbr: "AMW"
39
+ - abbr: "NP"
40
+ - abbr: "PNW"
41
+ - abbr: "ANW"
42
+ - abbr: "WD"
43
+ - abbr: "CD"
44
+ - abbr: "2CD"
45
+ - abbr: "3CD"
46
+ - abbr: "4CD"
47
+ - abbr: "5CD"
48
+ - abbr: "6CD"
49
+ - abbr: "7CD"
50
+ - abbr: "8CD"
51
+ - abbr: "9CD"
52
+ - abbr: "ACD"
53
+ - abbr: "A2CD"
54
+ - abbr: "A3CD"
55
+ - abbr: "A4CD"
56
+ - abbr: "A5CD"
57
+ - abbr: "A6CD"
58
+ - abbr: "A7CD"
59
+ - abbr: "A8CD"
60
+ - abbr: "A9CD"
61
+ - abbr: "CDM"
62
+ - abbr: "CDV"
63
+ - abbr: "ACDV"
64
+ - abbr: "CCDV"
65
+ - abbr: "CDVM"
66
+ - abbr: "NCDV"
67
+ - abbr: "FDIS"
68
+ - abbr: "PRF"
69
+ - abbr: "NFDIS"
70
+ - abbr: "NADIS"
71
+ - abbr: "RDISH"
72
+ - abbr: "RFDIS"
73
+ - abbr: "CFDIS"
74
+ - abbr: "BPUB"
75
+ - abbr: "PPUB"
76
+ - abbr: "APUB"
77
+ - abbr: "WPUB"
78
+ - abbr: "DELPUB"
79
+ - abbr: "RR"
80
+ - abbr: "CAN"
81
+ - abbr: "PWI ISH"
82
+ - abbr: "NP ISH"
83
+ - abbr: "ANW ISH"
84
+ - abbr: "WD ISH"
85
+ - abbr: "CDISH"
86
+ - abbr: "DISH"
87
+ - abbr: "ISH"
88
+ - abbr: "OD"
89
+ - abbr: "PWI PAS"
90
+ - abbr: "NP PAS"
91
+ - abbr: "ANW PAS"
92
+ - abbr: "WD PAS"
93
+ - abbr: "CDPAS"
94
+ - abbr: "DPAS"
95
+ - abbr: "PAS"
96
+ - abbr: "Trend Report"
97
+ - abbr: "PWI TR"
98
+ - abbr: "NP TR"
99
+ - abbr: "ANW TR"
100
+ - abbr: "WD TR"
101
+ - abbr: "CD TR"
102
+ - abbr: "DTR"
103
+ - abbr: "ADTR"
104
+ - abbr: "CDTR"
105
+ - abbr: "DTRM"
106
+ - abbr: "NDTR"
107
+ - abbr: "DTSM"
108
+ - abbr: "TR"
109
+ - abbr: "SRD"
110
+ - abbr: "Technology Report"
111
+ - abbr: "PWI TS"
112
+ - abbr: "NP TS"
113
+ - abbr: "ANW TS"
114
+ - abbr: "WD TS"
115
+ - abbr: "CD TS"
116
+ - abbr: "DTS"
117
+ - abbr: "ADTS"
118
+ - abbr: "CDTS"
119
+ - abbr: "NDTS"
120
+ - abbr: "TS"
121
+ - abbr: "White Paper"
122
+ - abbr: "PWI Frag"
123
+ - abbr: "NP Frag"
124
+ - abbr: "ANW Frag"
125
+ - abbr: "WD Frag"
126
+ - abbr: "CDFRAG"
127
+ - abbr: "DFRAG"
128
+ - abbr: "FDFRAG"
129
+ - abbr: "PRF Frag"
130
+ - abbr: "FRAG"
@@ -0,0 +1,4 @@
1
+ - abbrev: "ISO"
2
+ name: "International Organization for Standardization"
3
+ - abbrev: "IEC"
4
+ name: "International Electrotechnical Commission"
@@ -0,0 +1,12 @@
1
+ - name: "ISO"
2
+ - name: "IEC"
3
+ - name: "IEEE"
4
+ - name: "CIW"
5
+ - name: "SAE"
6
+ - name: "CIE"
7
+ - name: "ASME"
8
+ - name: "ASTM"
9
+ - name: "OECD"
10
+ - name: "HL7"
11
+ - name: "CEI"
12
+ - name: "UNDP"
@@ -0,0 +1,42 @@
1
+ - name: "TC"
2
+ - name: "JTC"
3
+ - name: "PC"
4
+ - name: "IT"
5
+ - name: "CAB"
6
+ - name: "CASCO"
7
+ - name: "COPOLCO"
8
+ - name: "COUNCIL"
9
+ - name: "CPSG"
10
+ - name: "CS"
11
+ - name: "DEVCO"
12
+ - name: "GA"
13
+ - name: "GAAB"
14
+ - name: "INFCO"
15
+ - name: "ITN"
16
+ - name: "ISOlutions"
17
+ - name: "REMCO"
18
+ - name: "TMB"
19
+ - name: "TMBG"
20
+ - name: "WMO"
21
+ - name: "DMT"
22
+ - name: "JCG"
23
+ - name: "SGPM"
24
+ - name: "ATMG"
25
+ - name: "CCCC"
26
+ - name: "CCCC-TG"
27
+ - name: "JDMT"
28
+ - name: "JSAG"
29
+ - name: "JSCTF-TF"
30
+ - name: "JTCG"
31
+ - name: "JTCG-TF"
32
+ - name: "SAG_Acc"
33
+ - name: "SAG_CRMI"
34
+ - name: "SAG_CRMI_CG"
35
+ - name: "SAG_ESG"
36
+ - name: "SAG_ESG_CG"
37
+ - name: "SAG_MRS"
38
+ - name: "SAG_SF"
39
+ - name: "SAG_SF_CG"
40
+ - name: "SMCC"
41
+ - name: "STMG"
42
+ - name: "MENA_STAR"
@@ -0,0 +1,114 @@
1
+ - abbr: "PWI TS"
2
+ - abbr: "NP TS"
3
+ - abbr: "AWI TS"
4
+ - abbr: "WD TS"
5
+ - abbr: "CDTS"
6
+ - abbr: "CD TS"
7
+ - abbr: "PDTS"
8
+ - abbr: "DTS"
9
+ - abbr: "FDTS"
10
+ - abbr: "PRF TS"
11
+ - abbr: "TS"
12
+ - abbr: "PWI TTA"
13
+ - abbr: "NP TTA"
14
+ - abbr: "AWI TTA"
15
+ - abbr: "WD TTA"
16
+ - abbr: "CD TTA"
17
+ - abbr: "DTTA"
18
+ - abbr: "FDTTA"
19
+ - abbr: "PRF TTA"
20
+ - abbr: "TTA"
21
+ - abbr: "NP DATA"
22
+ - abbr: "AWI DATA"
23
+ - abbr: "WD DATA"
24
+ - abbr: "CD DATA"
25
+ - abbr: "D DATA"
26
+ - abbr: "PRF DATA"
27
+ - abbr: "DATA"
28
+ - abbr: "DIR"
29
+ - abbr: "Directives Part"
30
+ - abbr: "Directives, Part"
31
+ - abbr: "Directives,"
32
+ - abbr: "Directives"
33
+ - abbr: "DIR SUP"
34
+ - abbr: "SUP"
35
+ - abbr: "Supplement"
36
+ - abbr: "PWI Guide"
37
+ - abbr: "NP Guide"
38
+ - abbr: "NP GUIDE"
39
+ - abbr: "AWI Guide"
40
+ - abbr: "AWI GUIDE"
41
+ - abbr: "WD Guide"
42
+ - abbr: "WD GUIDE"
43
+ - abbr: "CD Guide"
44
+ - abbr: "CD GUIDE"
45
+ - abbr: "DGuide"
46
+ - abbr: "DGUIDE"
47
+ - abbr: "FDGuide"
48
+ - abbr: "FD Guide"
49
+ - abbr: "FD GUIDE"
50
+ - abbr: "PRF Guide"
51
+ - abbr: "PRF GUIDE"
52
+ - abbr: "Guide"
53
+ - abbr: "GUIDE"
54
+ - abbr: "DP"
55
+ - abbr: "PWI"
56
+ - abbr: "NP"
57
+ - abbr: "NWIP"
58
+ - abbr: "AWI"
59
+ - abbr: "WD"
60
+ - abbr: "WDS"
61
+ - abbr: "preCD"
62
+ - abbr: "PreCD"
63
+ - abbr: "CD"
64
+ - abbr: "DIS"
65
+ - abbr: "FPD"
66
+ - abbr: "FCD"
67
+ - abbr: "FDIS"
68
+ - abbr: "PRF"
69
+ - abbr: "Fpr"
70
+ - abbr: "IS"
71
+ - abbr: "WDR"
72
+ - abbr: "WDA"
73
+ - abbr: "WDAR"
74
+ - abbr: "PWI ISP"
75
+ - abbr: "NP ISP"
76
+ - abbr: "AWI ISP"
77
+ - abbr: "WD ISP"
78
+ - abbr: "CD ISP"
79
+ - abbr: "DISP"
80
+ - abbr: "DIS ISP"
81
+ - abbr: "FDISP"
82
+ - abbr: "FDIS ISP"
83
+ - abbr: "PRF ISP"
84
+ - abbr: "ISP"
85
+ - abbr: "PWI IWA"
86
+ - abbr: "NP IWA"
87
+ - abbr: "AWI IWA"
88
+ - abbr: "WD IWA"
89
+ - abbr: "CD IWA"
90
+ - abbr: "DIWA"
91
+ - abbr: "PRF IWA"
92
+ - abbr: "IWA"
93
+ - abbr: "PWI PAS"
94
+ - abbr: "NP PAS"
95
+ - abbr: "AWI PAS"
96
+ - abbr: "WD PAS"
97
+ - abbr: "CD PAS"
98
+ - abbr: "DPAS"
99
+ - abbr: "FDPAS"
100
+ - abbr: "PRF PAS"
101
+ - abbr: "PAS"
102
+ - abbr: "R"
103
+ - abbr: "PWI TR"
104
+ - abbr: "NP TR"
105
+ - abbr: "AWI TR"
106
+ - abbr: "WD TR"
107
+ - abbr: "CD TR"
108
+ - abbr: "PDTR"
109
+ - abbr: "DTR"
110
+ - abbr: "DIS TR"
111
+ - abbr: "FDTR"
112
+ - abbr: "FDIS TR"
113
+ - abbr: "PRF TR"
114
+ - abbr: "TR"
@@ -0,0 +1,64 @@
1
+ - abbr: "PWI Suppl"
2
+ - abbr: "NP Suppl"
3
+ - abbr: "AWI Suppl"
4
+ - abbr: "WD Suppl"
5
+ - abbr: "CD Suppl"
6
+ - abbr: "DSuppl"
7
+ - abbr: "DIS Suppl"
8
+ - abbr: "FDSuppl"
9
+ - abbr: "FDIS Suppl"
10
+ - abbr: "PRF Suppl"
11
+ - abbr: "Suppl"
12
+ - abbr: "Suppl."
13
+ - abbr: "PWI Add"
14
+ - abbr: "NP Add"
15
+ - abbr: "AWI Add"
16
+ - abbr: "WD Add"
17
+ - abbr: "CD Add"
18
+ - abbr: "DAD"
19
+ - abbr: "DAdd"
20
+ - abbr: "D ADD"
21
+ - abbr: "Dad"
22
+ - abbr: "DIS Add"
23
+ - abbr: "FDAD"
24
+ - abbr: "FDAdd"
25
+ - abbr: "FD ADD"
26
+ - abbr: "FDad"
27
+ - abbr: "FDIS Add"
28
+ - abbr: "Add"
29
+ - abbr: "ADD"
30
+ - abbr: "Add."
31
+ - abbr: "Addendum"
32
+ - abbr: "PWI Amd"
33
+ - abbr: "NP Amd"
34
+ - abbr: "AWI Amd"
35
+ - abbr: "WD Amd"
36
+ - abbr: "CD Amd"
37
+ - abbr: "PDAM"
38
+ - abbr: "DAM"
39
+ - abbr: "DAmd"
40
+ - abbr: "FDAM"
41
+ - abbr: "FDAmd"
42
+ - abbr: "FPDAM"
43
+ - abbr: "PRF Amd"
44
+ - abbr: "Amd"
45
+ - abbr: "AMD"
46
+ - abbr: "Amd."
47
+ - abbr: "PWI Cor"
48
+ - abbr: "NP Cor"
49
+ - abbr: "AWI Cor"
50
+ - abbr: "WD Cor"
51
+ - abbr: "CD Cor"
52
+ - abbr: "pDCOR"
53
+ - abbr: "DCor"
54
+ - abbr: "DCOR"
55
+ - abbr: "DIS Cor"
56
+ - abbr: "FDCor"
57
+ - abbr: "FDCOR"
58
+ - abbr: "FCOR"
59
+ - abbr: "FDIS Cor"
60
+ - abbr: "PRF Cor"
61
+ - abbr: "Cor"
62
+ - abbr: "COR"
63
+ - abbr: "Cor."
64
+ - abbr: "Ext"
@@ -0,0 +1,21 @@
1
+ - name: "AG"
2
+ - name: "AhG"
3
+ - name: "WG"
4
+ - name: "JWG"
5
+ - name: "QC"
6
+ - name: "TF"
7
+ - name: "PPC"
8
+ - name: "CAG"
9
+ - name: "CSC"
10
+ - name: "ITSAG"
11
+ - name: "CSC/FIN"
12
+ - name: "CSC/NOM"
13
+ - name: "CSC/OVE"
14
+ - name: "CSC/SP"
15
+ - name: "SF"
16
+ - name: "ITSG"
17
+ - name: "JAG"
18
+ - name: "JCTF"
19
+ - name: "JSG"
20
+ - name: "JTAG"
21
+ - name: "JTG"
@@ -18,7 +18,17 @@ module Pubid
18
18
  # @return [Pubid::Adobe::Identifier]
19
19
  # @raise [Pubid::Errors::ParseError] If parsing fails
20
20
  def self.parse(identifier)
21
- parsed = Parser.parse(identifier)
21
+ unless identifier.is_a?(String)
22
+ raise Pubid::Errors::InvalidInputError,
23
+ Pubid::INPUT_NOT_A_STRING_MESSAGE
24
+ end
25
+
26
+ if identifier.length > Pubid::MAX_INPUT_LENGTH
27
+ raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
28
+ end
29
+
30
+ # R1 parser swap: the baked PG artifact is the parser of record.
31
+ parsed = Pubid::Parg::Backend.parse(:adobe, identifier.strip)
22
32
  Builder.build(parsed)
23
33
  end
24
34
 
@@ -17,7 +17,7 @@ module Pubid
17
17
  raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
18
18
  end
19
19
 
20
- parsed = Parser.parse(identifier)
20
+ parsed = Pubid::Parg::Backend.parse(:amca, identifier)
21
21
  Builder.build(parsed)
22
22
  end
23
23
 
@@ -23,7 +23,7 @@ module Pubid
23
23
  raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
24
24
  end
25
25
 
26
- parsed = Pubid::Ansi::Parser.new.parse(string)
26
+ parsed = Pubid::Parg::Backend.parse(:ansi, string)
27
27
  Pubid::Ansi::Builder.new.build(parsed)
28
28
  end
29
29
  end
@@ -34,7 +34,7 @@ module Pubid
34
34
  # this was the one public parse in the gem that could return nil, which
35
35
  # a caller reading `id.to_s` sees as a NoMethodError far from the cause.
36
36
  # Both API fixture loaders already drop `#` lines themselves.
37
- tree = Parser.new.parse(input)
37
+ tree = Pubid::Parg::Backend.parse(:api, Api::Parser.normalize_input(input))
38
38
  Builder.new.build(tree)
39
39
  end
40
40
  end
@@ -129,11 +129,15 @@ module Pubid
129
129
 
130
130
  root(:identifier)
131
131
 
132
- # Preprocessing to normalize common typos
133
- def parse(input)
132
+ # Pre-parse ingestion normalization (R2): every parse path feeds
133
+ # the grammar the same normalized string.
134
+ def self.normalize_input(input)
134
135
  # Normalize MPMP typo to MPMS
135
- normalized = input.gsub("API MPMP", "API MPMS")
136
- super(normalized)
136
+ input.gsub("API MPMP", "API MPMS")
137
+ end
138
+
139
+ def parse(input)
140
+ super(self.class.normalize_input(input))
137
141
  end
138
142
  end
139
143
  end
@@ -10,7 +10,16 @@ module Pubid
10
10
  # @return [Pubid::Ashrae::Identifier] The appropriate identifier object
11
11
  # @raise [Pubid::Errors::ParseError] If parsing fails
12
12
  def self.parse(identifier)
13
- parsed = Parser.parse(identifier)
13
+ unless identifier.is_a?(String)
14
+ raise Pubid::Errors::InvalidInputError,
15
+ Pubid::INPUT_NOT_A_STRING_MESSAGE
16
+ end
17
+
18
+ if identifier.length > Pubid::MAX_INPUT_LENGTH
19
+ raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
20
+ end
21
+
22
+ parsed = Pubid::Parg::Backend.parse(:ashrae, Parser.normalize_input(identifier))
14
23
  Builder.build(parsed)
15
24
  end
16
25
 
@@ -698,16 +698,10 @@ module Pubid
698
698
 
699
699
  root(:identifier)
700
700
 
701
- def self.parse(string)
702
- unless string.is_a?(String)
703
- raise Pubid::Errors::InvalidInputError,
704
- Pubid::INPUT_NOT_A_STRING_MESSAGE
705
- end
706
-
707
- if string.length > Pubid::MAX_INPUT_LENGTH
708
- raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
709
- end
710
-
701
+ # Pre-parse ingestion normalizations (R2): every parse path —
702
+ # parslet and PG artifact alike — feeds the grammar the same
703
+ # normalized string.
704
+ def self.normalize_input(string)
711
705
  # Strip leading/trailing whitespace
712
706
  cleaned = string.strip
713
707
 
@@ -775,7 +769,20 @@ module Pubid
775
769
  "Addenda \\1, ")
776
770
  end
777
771
 
778
- new.parse(cleaned)
772
+ cleaned
773
+ end
774
+
775
+ def self.parse(string)
776
+ unless string.is_a?(String)
777
+ raise Pubid::Errors::InvalidInputError,
778
+ Pubid::INPUT_NOT_A_STRING_MESSAGE
779
+ end
780
+
781
+ if string.length > Pubid::MAX_INPUT_LENGTH
782
+ raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
783
+ end
784
+
785
+ new.parse(normalize_input(string))
779
786
  end
780
787
  end
781
788
  end
@@ -16,7 +16,7 @@ module Pubid
16
16
  parser = Parser.new
17
17
  builder = Builder.new
18
18
 
19
- parsed = parser.parse(str)
19
+ parsed = Pubid::Parg::Backend.parse(:asme, str)
20
20
  builder.build(parsed)
21
21
  end
22
22
  end
@@ -16,7 +16,7 @@ module Pubid
16
16
  parser = Parser.new
17
17
  builder = Builder.new
18
18
 
19
- parsed = parser.parse(str)
19
+ parsed = Pubid::Parg::Backend.parse(:astm, str)
20
20
  builder.build(parsed)
21
21
  end
22
22
  end
@@ -277,7 +277,7 @@ module Pubid
277
277
  # Normalize legacy/docnumber-style spellings before parsing
278
278
  # (data/bipm/update_codes.yaml), mirroring Pubid::Ccsds / Pubid::Plateau.
279
279
  normalized = Core::UpdateCodes.apply(identifier, :bipm)
280
- parsed = Parser.parse(normalized)
280
+ parsed = Pubid::Parg::Backend.parse(:bipm, normalized)
281
281
  Builder.build(parsed)
282
282
  end
283
283
  end
@@ -28,9 +28,7 @@ module Pubid
28
28
  return Pubid::Iec.parse(string)
29
29
  end
30
30
 
31
- parser = Parser.new
32
-
33
- parsed = parser.parse(string)
31
+ parsed = Pubid::Parg::Backend.parse(:bsi, string)
34
32
  Builder.build(parsed)
35
33
  end
36
34
 
@@ -118,7 +118,7 @@ module Pubid
118
118
  raise Pubid::Errors::InvalidInputError, Pubid::INPUT_TOO_LONG_MESSAGE
119
119
  end
120
120
 
121
- Builder.build(Parser.parse(identifier))
121
+ Builder.build(Pubid::Parg::Backend.parse(:calconnect, identifier))
122
122
  end
123
123
  end
124
124
  end