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.
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pubid
4
- VERSION = "2.0.0.pre.alpha.55"
4
+ VERSION = "2.0.0.pre.alpha.56"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.alpha.55
4
+ version: 2.0.0.pre.alpha.56
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.