Class: Pubid::Ccsds::SupplementIdentifier
- Inherits:
-
Identifier
- Object
- Lutaml::Model::Serializable
- Identifier
- Identifier
- Pubid::Ccsds::SupplementIdentifier
- Defined in:
- lib/pubid/ccsds/supplement_identifier.rb
Overview
Base class for CCSDS supplements (corrigenda, amendments, etc.).
Descends from the abstract root (not the concrete Base) and points
base at the root, so the polymorphic attribute never
resolves to its own superclass — which is what prevents lutaml from
recursing forever while building a supplement from a hash.
Direct Known Subclasses
Constant Summary
Constants inherited from Identifier
Instance Method Summary collapse
Methods inherited from Identifier
Methods inherited from Identifier
apply_mappings, #base, #base_document, concrete_class_for, #dated_version_of?, #draft_of?, #drop_supplements, #edition_of?, #eql?, #exclude, from_hash, #has_supplement?, #hash, #includes?, #initialize, #matches?, #mr_all_parts, #mr_edition, #mr_languages, #mr_number, #mr_number_with_part, #mr_part, #mr_publisher, #mr_subpart, #mr_supplement_suffix, #mr_type, #mr_year, #new_edition_of?, polymorphic_name, polymorphic_type_map, #related_to?, #render, #resolve_urn_generator, #root, #sibling_of?, #supplement_of?, #to_hash, #to_mr_string, #to_s, #to_slug, #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
#<=>(other) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/pubid/ccsds/supplement_identifier.rb', line 23 def <=>(other) return nil unless other.is_a?(SupplementIdentifier) # Compare base identifiers first if base && other.base base_cmp = base <=> other.base return base_cmp unless base_cmp.zero? end # Subclasses should implement more specific comparison 0 end |