Class: Pubid::Ccsds::SupplementIdentifier

Inherits:
Identifiers::Base
  • Object
show all
Defined in:
lib/pubid/ccsds/supplement_identifier.rb

Overview

Base class for CCSDS supplements (corrigenda, amendments, etc.) Following ISO pattern: inherits from Base and uses Lutaml::Model

Direct Known Subclasses

Identifiers::Corrigendum

Constant Summary

Constants inherited from Identifiers::Base

Identifiers::Base::TYPED_STAGES

Instance Method Summary collapse

Methods inherited from Identifiers::Base

#==, #base_hash, #to_s, #to_urn, type

Instance Method Details

#<=>(other) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pubid/ccsds/supplement_identifier.rb', line 19

def <=>(other)
  return nil unless other.is_a?(SupplementIdentifier)

  # Compare base identifiers first
  if base_identifier && other.base_identifier
    base_cmp = base_identifier <=> other.base_identifier
    return base_cmp unless base_cmp.zero?
  end

  # Subclasses should implement more specific comparison
  0
end

#numberObject



15
16
17
# File 'lib/pubid/ccsds/supplement_identifier.rb', line 15

def number
  base_identifier&.number
end

#publisherObject

Delegate methods to base_identifier for convenient access



11
12
13
# File 'lib/pubid/ccsds/supplement_identifier.rb', line 11

def publisher
  base_identifier&.publisher
end