Class: Pubid::Iso::SupplementIdentifier

Inherits:
SingleIdentifier show all
Defined in:
lib/pubid/iso/supplement_identifier.rb

Constant Summary

Constants inherited from Identifier

Identifier::ISO_TYPE_MAP

Instance Method Summary collapse

Methods inherited from Identifier

#all_parts_from_kv, #all_parts_to_kv, #build_code, build_type_map, #copublishers_from_kv, #copublishers_to_kv, #date_for, #day_from_kv, #day_to_kv, default_publisher, #emit_code, #emit_date_part, from_hash, #month_from_kv, #month_to_kv, #number_from_kv, #number_to_kv, parse, #part_from_kv, #part_to_kv, published_typed_stage, #publisher_for, #publisher_from_kv, #publisher_to_kv, #stage, #stage_from_kv, #stage_iteration_from_kv, #stage_iteration_to_kv, #stage_to_kv, #subpart_from_kv, #subpart_to_kv, #type, #with_harmonized_stage, #year_from_kv, #year_to_kv

Methods inherited from Pubid::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, #year

Constructor Details

This class inherits a constructor from Pubid::Identifier

Instance Method Details

#copublishersObject



29
30
31
# File 'lib/pubid/iso/supplement_identifier.rb', line 29

def copublishers
  root.copublishers if base_identifier
end

#publisherObject

A supplement carries the publisher/copublishers of the document it supplements. Delegate to the root rather than the immediate base so a nested supplement (e.g. “…/Amd 1/Cor 1”) reads identity from the underlying standard in one hop, regardless of chain depth. This keeps a parsed supplement and a from_hash-deserialized one in agreement (== and index matching compare both). Guard on base_identifier: ‘root` returns self when there is no base, which would otherwise recurse forever.



25
26
27
# File 'lib/pubid/iso/supplement_identifier.rb', line 25

def publisher
  root.publisher if base_identifier
end

#to_s(**opts) ⇒ Object



33
34
35
36
37
# File 'lib/pubid/iso/supplement_identifier.rb', line 33

def to_s(**opts)
  context = build_rendering_context(nil, format: :human, **opts)
  Pubid::Renderers::SupplementRenderer.new(self).render(context:,
                                                        **opts.slice(:with_edition))
end