pubid 2.0.0.pre.alpha.55 → 2.0.0.pre.alpha.56
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.
- checksums.yaml +4 -4
- data/data/parg/ieee.json +1839 -1647
- data/lib/pubid/ieee/builder.rb +13 -0
- data/lib/pubid/version.rb +1 -1
- metadata +1 -1
data/lib/pubid/ieee/builder.rb
CHANGED
|
@@ -1076,7 +1076,16 @@ module Pubid
|
|
|
1076
1076
|
extract_value(parsed[:draft_version]).to_s.match?(/\A\d/)
|
|
1077
1077
|
# A promoted stage ("29119.FDIS") is printed identity - the joint
|
|
1078
1078
|
# model carries it, never the printed Standard face.
|
|
1079
|
+
# P + a /D designator (any draft capture) is a DRAFT, never a
|
|
1080
|
+
# printed Std (the owner's 2026-10-24 ruling): the P marker is
|
|
1081
|
+
# project status, so the joint/project-draft family owns the row
|
|
1082
|
+
# whatever date trails the designator. The non-P rows keep the
|
|
1083
|
+
# printed-strip doctrine (the normalization ledger).
|
|
1084
|
+
p_with_draft = parsed[:project_marker] &&
|
|
1085
|
+
(parsed[:draft_version] || parsed[:draft_iso_stage] ||
|
|
1086
|
+
parsed[:draft_month] || parsed[:draft_year])
|
|
1079
1087
|
printed_joint = parsed[:iso_published] && parsed[:iso_stage].nil? &&
|
|
1088
|
+
!p_with_draft &&
|
|
1080
1089
|
(parsed[:printed_dash_year] || parsed[:printed_month_year] ||
|
|
1081
1090
|
(numeric_draft && parsed[:draft_month]) ||
|
|
1082
1091
|
# A date-less stage-less joint reference carrying only a
|
|
@@ -1098,6 +1107,10 @@ module Pubid
|
|
|
1098
1107
|
"#{parsed[:part_dash] ? "-" : "."}#{part_val}"
|
|
1099
1108
|
end
|
|
1100
1109
|
end
|
|
1110
|
+
# the subpart carries its separator too (C1 separator-in-capture);
|
|
1111
|
+
# the two-party rows split "-57-1202"-class parts into both
|
|
1112
|
+
sub_val = parsed[:subpart] && extract_value(parsed[:subpart])
|
|
1113
|
+
printed_code += sub_val if sub_val && !sub_val.empty?
|
|
1101
1114
|
# P = project: the marker is identity, preserved as spelled.
|
|
1102
1115
|
printed_code = "P#{printed_code}" if parsed[:project_marker]
|
|
1103
1116
|
printed_attrs = { publisher: attributes[:publisher],
|
data/lib/pubid/version.rb
CHANGED