Module: Ucode::Models
- Defined in:
- lib/ucode/models.rb,
lib/ucode/models/audit.rb,
lib/ucode/models/block.rb,
lib/ucode/models/plane.rb,
lib/ucode/models/script.rb,
lib/ucode/models/codepoint.rb,
lib/ucode/models/name_alias.rb,
lib/ucode/models/cjk_radical.rb,
lib/ucode/models/relationship.rb,
lib/ucode/models/unihan_entry.rb,
lib/ucode/models/audit/hinting.rb,
lib/ucode/models/audit/metrics.rb,
lib/ucode/models/audit/baseline.rb,
lib/ucode/models/bidi_mirroring.rb,
lib/ucode/models/codepoint/bidi.rb,
lib/ucode/models/named_sequence.rb,
lib/ucode/models/property_alias.rb,
lib/ucode/models/audit/licensing.rb,
lib/ucode/models/codepoint/emoji.rb,
lib/ucode/models/codepoint/indic.rb,
lib/ucode/models/audit/audit_axis.rb,
lib/ucode/models/audit/audit_diff.rb,
lib/ucode/models/audit/gasp_range.rb,
lib/ucode/models/codepoint/casing.rb,
lib/ucode/models/codepoint/hangul.rb,
lib/ucode/models/names_list_entry.rb,
lib/ucode/models/audit/discrepancy.rb,
lib/ucode/models/bidi_bracket_pair.rb,
lib/ucode/models/case_folding_rule.rb,
lib/ucode/models/codepoint/display.rb,
lib/ucode/models/codepoint/joining.rb,
lib/ucode/models/audit/audit_report.rb,
lib/ucode/models/audit/field_change.rb,
lib/ucode/models/audit/block_summary.rb,
lib/ucode/models/audit/plane_summary.rb,
lib/ucode/models/special_casing_rule.rb,
lib/ucode/models/audit/embedding_type.rb,
lib/ucode/models/audit/named_instance.rb,
lib/ucode/models/audit/script_summary.rb,
lib/ucode/models/codepoint/identifier.rb,
lib/ucode/models/property_value_alias.rb,
lib/ucode/models/standardized_variant.rb,
lib/ucode/models/audit/codepoint_range.rb,
lib/ucode/models/audit/duplicate_group.rb,
lib/ucode/models/audit/library_summary.rb,
lib/ucode/models/audit/opentype_layout.rb,
lib/ucode/models/audit/script_features.rb,
lib/ucode/models/relationship/footnote.rb,
lib/ucode/models/audit/codepoint_detail.rb,
lib/ucode/models/audit/variation_detail.rb,
lib/ucode/models/codepoint/case_folding.rb,
lib/ucode/models/codepoint/decomposition.rb,
lib/ucode/models/codepoint/normalization.rb,
lib/ucode/models/codepoint/numeric_value.rb,
lib/ucode/models/audit/codepoint_set_diff.rb,
lib/ucode/models/audit/color_capabilities.rb,
lib/ucode/models/audit/fs_selection_flags.rb,
lib/ucode/models/audit/script_coverage_row.rb,
lib/ucode/models/relationship/compat_equiv.rb,
lib/ucode/models/binary_property_assignment.rb,
lib/ucode/models/relationship/informal_alias.rb,
lib/ucode/models/codepoint/break_segmentation.rb,
lib/ucode/models/relationship/cross_reference.rb,
lib/ucode/models/relationship/sample_sequence.rb,
lib/ucode/models/relationship/variation_sequence.rb
Overview
Models — typed class representations of every UCD aggregate.
Conventions (apply to every class in this namespace):
-
Inheritance, not include:
class Foo < Lutaml::Model::Serializable -
Wire shape declared via ‘key_value do … end` (covers JSON + YAML). NEVER `mapping do`, NEVER `json do`.
-
Codepoint references are “U+XXXX” strings — never nested CodePoint objects. Keeps the data normalized: each codepoint’s full data lives only in its own folder.
-
Polymorphism: ‘polymorphic_class: true` + `polymorphic_map:` on the base discriminator; `polymorphic: […]` on the consumer attribute
+ `polymorphic: { attribute:, class_map: }` on its mapping. -
NEVER define ‘to_h` / `from_h` / `to_json` / `from_json`. All (de)serialization goes through lutaml-model.
Defined Under Namespace
Modules: Audit Classes: BidiBracketPair, BidiMirroring, BinaryPropertyAssignment, Block, CaseFoldingRule, CjkRadical, CodePoint, NameAlias, NamedSequence, NamesListEntry, Plane, PropertyAlias, PropertyValueAlias, Relationship, Script, SpecialCasingRule, StandardizedVariant, UnihanEntry