Class: Ucode::Models::Relationship

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/ucode/models/relationship.rb,
lib/ucode/models/relationship/footnote.rb,
lib/ucode/models/relationship/compat_equiv.rb,
lib/ucode/models/relationship/informal_alias.rb,
lib/ucode/models/relationship/cross_reference.rb,
lib/ucode/models/relationship/sample_sequence.rb,
lib/ucode/models/relationship/variation_sequence.rb

Overview

Polymorphic Relationship base. The ‘kind` attribute is the discriminator that identifies the concrete subclass on the wire.

Six concrete subclasses model the six marker types in NamesList.txt plus standardized variants:

CrossReference       (→ see also)
SampleSequence       (× typical usage)
CompatEquiv          (≡ compatibility equivalent)
InformalAlias        (= informal alias)
Footnote             (* explanatory note)
VariationSequence    (from StandardizedVariants.txt)

Adding a new relationship kind later is OCP: subclass + autoload + one entry in each polymorphic map. Nothing else changes.

Defined Under Namespace

Classes: CompatEquiv, CrossReference, Footnote, InformalAlias, SampleSequence, VariationSequence