pubid 2.0.0.pre.alpha.54 → 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 +29204 -1
- data/lib/pubid/ieee/builder.rb +21 -3
- 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],
|
|
@@ -1118,9 +1131,14 @@ module Pubid
|
|
|
1118
1131
|
printed_attrs[:year] = attributes[:year]
|
|
1119
1132
|
printed_attrs[:month] = attributes[:month]
|
|
1120
1133
|
elsif parsed[:draft_month]
|
|
1121
|
-
# The date trails the draft itself ("
|
|
1122
|
-
#
|
|
1123
|
-
|
|
1134
|
+
# The date trails the draft itself ("D31, Aug 2010"): the
|
|
1135
|
+
# normalization ledger strips the ordinal draft on the
|
|
1136
|
+
# printed joint face and surfaces the date as the printed
|
|
1137
|
+
# date ("11073-10418 D13, January 2011" ->
|
|
1138
|
+
# "11073.10418, January 2011") -- composing it back into the
|
|
1139
|
+
# draft emitted "/D, Aug 2010" remnants.
|
|
1140
|
+
printed_attrs[:year] = extract_value(parsed[:draft_year])
|
|
1141
|
+
printed_attrs[:month] = extract_value(parsed[:draft_month])
|
|
1124
1142
|
end
|
|
1125
1143
|
printed_attrs[:code] = printed_code
|
|
1126
1144
|
printed_attrs[:draft] = printed_draft if printed_draft
|
data/lib/pubid/version.rb
CHANGED