Class: Pubid::Bsi::Identifiers::SupplementDocument
- Inherits:
-
Base
- Object
- Lutaml::Model::Serializable
- Identifier
- Base
- Pubid::Bsi::Identifiers::SupplementDocument
- Defined in:
- lib/pubid/bsi/identifiers/supplement_document.rb
Overview
Supplement Document Identifier Contains a base identifier plus supplement parameters Supports both forward and reverse formats: Forward: “BS 1000:Supplement No. 1:1972”, “BS 1722-1 Supplement No. 1:1974” Reverse: “Supplement No. 1 (1970) to BS 1831:1969”
Instance Method Summary collapse
- #publisher ⇒ Object
-
#to_s ⇒ Object
Separator before Supplement (“:” or “ ”).
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::Identifier
Instance Method Details
#publisher ⇒ Object
45 46 47 |
# File 'lib/pubid/bsi/identifiers/supplement_document.rb', line 45 def publisher base_identifier&.publisher end |
#to_s ⇒ Object
Separator before Supplement (“:” or “ ”)
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/pubid/bsi/identifiers/supplement_document.rb', line 23 def to_s base_str = base_identifier.to_s if reverse_format # Reverse format: "Supplement No. 1 (1970) to BS 1831:1969" supplement_str = if supplement_type == "No." "Supplement No. #{supplement_number} (#{supplement_year})" else "Supplement #{supplement_number} (#{supplement_year})" end "#{supplement_str} to #{base_str}" else # Forward format: "BS 1000:Supplement No. 1:1972" or "BS 1722-1 Supplement No. 1:1974" supplement_str = if supplement_type == "No." "#{separator}Supplement No. #{supplement_number}:#{supplement_year}" else "#{separator}Supplement #{supplement_number}:#{supplement_year}" end "#{base_str}#{supplement_str}" end end |