Module: Chemicalml::Cml::Role

Defined in:
lib/chemicalml/cml/role.rb,
lib/chemicalml/cml/role/atom.rb,
lib/chemicalml/cml/role/bond.rb,
lib/chemicalml/cml/role/list.rb,
lib/chemicalml/cml/role/name.rb,
lib/chemicalml/cml/role/unit.rb,
lib/chemicalml/cml/role/array.rb,
lib/chemicalml/cml/role/label.rb,
lib/chemicalml/cml/role/matrix.rb,
lib/chemicalml/cml/role/scalar.rb,
lib/chemicalml/cml/role/formula.rb,
lib/chemicalml/cml/role/product.rb,
lib/chemicalml/cml/role/document.rb,
lib/chemicalml/cml/role/metadata.rb,
lib/chemicalml/cml/role/molecule.rb,
lib/chemicalml/cml/role/property.rb,
lib/chemicalml/cml/role/reactant.rb,
lib/chemicalml/cml/role/reaction.rb,
lib/chemicalml/cml/role/parameter.rb,
lib/chemicalml/cml/role/substance.rb,
lib/chemicalml/cml/role/unit_list.rb,
lib/chemicalml/cml/role/unit_type.rb,
lib/chemicalml/cml/role/atom_array.rb,
lib/chemicalml/cml/role/bond_array.rb,
lib/chemicalml/cml/role/cml_module.rb,
lib/chemicalml/cml/role/dictionary.rb,
lib/chemicalml/cml/role/identifier.rb,
lib/chemicalml/cml/role/atom_parity.rb,
lib/chemicalml/cml/role/bond_stereo.rb,
lib/chemicalml/cml/role/product_list.rb,
lib/chemicalml/cml/role/metadata_list.rb,
lib/chemicalml/cml/role/property_list.rb,
lib/chemicalml/cml/role/reactant_list.rb,
lib/chemicalml/cml/role/reaction_list.rb,
lib/chemicalml/cml/role/parameter_list.rb,
lib/chemicalml/cml/role/unit_type_list.rb,
lib/chemicalml/cml/role/dictionary_entry.rb

Overview

Role marker modules — one per CML element. Included by every schema-versioned wire class for that element (Schema3::Molecule and Schema24::Molecule both include Role::Molecule).

Constraints and translator rules check node.is_a?(Role::Molecule) instead of is_a?(Schema3::Molecule) || is_a?(Schema24::Molecule). Adding Schema5 later requires zero constraint edits — Schema5's classes just include the relevant Role modules.

Each Role module is empty — it's a pure type marker, no methods.

Defined Under Namespace

Modules: Array, Atom, AtomArray, AtomParity, Bond, BondArray, BondStereo, Dictionary, DictionaryEntry, Document, Formula, Identifier, Label, List, Matrix, Metadata, MetadataList, Module, Molecule, Name, Parameter, ParameterList, Product, ProductList, Property, PropertyList, Reactant, ReactantList, Reaction, ReactionList, Scalar, Substance, Unit, UnitList, UnitType, UnitTypeList