Class: Pubid::Nist::Identifiers::CircularSupplement
- Inherits:
-
SupplementIdentifier
- Object
- Lutaml::Model::Serializable
- Identifier
- Base
- SupplementIdentifier
- Pubid::Nist::Identifiers::CircularSupplement
- Defined in:
- lib/pubid/nist/identifiers/circular_supplement.rb
Overview
NBS Circular Supplement Identifier Wraps a base Circular identifier with supplement information
Examples:
-
“NBS CIRC 101e2supp” → CircularSupplement(base: Circular(101, e2))
-
“NBS CIRC 25supp-1924” → CircularSupplement(base: Circular(25), edition: 1924)
-
“NBS CIRC suppJun1925-Jun1926” → CircularSupplement(edition with date range)
Constant Summary collapse
- TYPED_STAGES =
NOTE: CircularSupplement uses same TYPED_STAGES as Circular It’s a variant edition pattern, not a separate series type
[ Pubid::Components::TypedStage.new( abbr: ["CIRC", "NBS CIRC"], stage_code: "published", type_code: "circ", ), ].freeze
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from SupplementIdentifier
Methods inherited from Base
#edition_greater?, #extract_edition_number, #initialize, #language, #merge, #publisher, #revision, #series_code, #translation, #weight
Methods inherited from Identifier
#base_identifier, #eql?, #exclude, #hash, #initialize, #mr_number, #mr_number_with_part, #mr_part, #mr_publisher, #mr_type, #mr_year, #new_edition_of?, polymorphic_name, #render, #resolve_urn_generator, #root, #to_mr_string, #to_supplement_s, #to_urn, #urn_supplement_type, #urn_type_code
Constructor Details
This class inherits a constructor from Pubid::Nist::Identifiers::Base
Class Method Details
.type ⇒ Object
29 30 31 |
# File 'lib/pubid/nist/identifiers/circular_supplement.rb', line 29 def type { key: :circ_supp, title: "NBS Circular Supplement", short: "CIRC" } end |
.typed_stages ⇒ Object
25 26 27 |
# File 'lib/pubid/nist/identifiers/circular_supplement.rb', line 25 def typed_stages TYPED_STAGES end |
Instance Method Details
#to_s(format = :short) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/pubid/nist/identifiers/circular_supplement.rb', line 38 def to_s(format = :short) # Handle date range supplements (no base identifier) if supplement_date_range_start && supplement_date_range_end return "NBS CIRC supp#{supplement_date_range_start}-#{supplement_date_range_end}" end # Use parent's rendering for base + supplement super end |