Class: Chemicalml::Convention::Constraint::NodeConstraint
- Inherits:
-
Constraint
- Object
- Constraint
- Chemicalml::Convention::Constraint::NodeConstraint
- Defined in:
- lib/chemicalml/convention/constraint.rb
Overview
NodeConstraint: walks the document tree once per node and
calls check_node(node, path). Subclasses get traversal for
free plus declarative role dispatch via applies_to.
Direct Known Subclasses
Chemicalml::Convention::Compchem::Constraints::ArrayRules, Chemicalml::Convention::Compchem::Constraints::CalculationRequiresFinalization, Chemicalml::Convention::Compchem::Constraints::CompchemModuleMustContainJobList, Chemicalml::Convention::Compchem::Constraints::EnvironmentAtMostOnePropertyList, Chemicalml::Convention::Compchem::Constraints::EnvironmentMustNotContainParameter, Chemicalml::Convention::Compchem::Constraints::FinalizationAtMostOneMolecule, Chemicalml::Convention::Compchem::Constraints::FinalizationAtMostOnePropertyList, Chemicalml::Convention::Compchem::Constraints::FinalizationMustNotContainParameter, Chemicalml::Convention::Compchem::Constraints::InitializationAtMostOneMolecule, Chemicalml::Convention::Compchem::Constraints::InitializationAtMostOneParameterList, Chemicalml::Convention::Compchem::Constraints::InitializationMustNotContainProperty, Chemicalml::Convention::Compchem::Constraints::JobListModuleMustHaveId, Chemicalml::Convention::Compchem::Constraints::JobModuleAtMostOneEnvironment, Chemicalml::Convention::Compchem::Constraints::JobModuleAtMostOneFinalization, Chemicalml::Convention::Compchem::Constraints::JobModuleMustHaveId, Chemicalml::Convention::Compchem::Constraints::JobMustContainInitialization, Chemicalml::Convention::Compchem::Constraints::MatrixRules, Chemicalml::Convention::Compchem::Constraints::ScalarUnits, Dictionary::Constraints::DictionaryMustHaveNamespace, Dictionary::Constraints::DictionaryNamespaceShouldEndWithSlashOrHash, Dictionary::Constraints::EntryIdMustMatchPattern, Dictionary::Constraints::EntryIdsUniqueWithinDictionary, Dictionary::Constraints::EntryMustContainDefinition, Dictionary::Constraints::EntryMustHaveIdAndTerm, Dictionary::Constraints::EntryMustHaveUnitType, Dictionary::Constraints::EntryUnitsCoConstraints, Molecular::Constraints::AtomArrayMustBeChildOfMoleculeOrFormula, Molecular::Constraints::AtomArrayMustContainAtoms, Molecular::Constraints::AtomCoordinatesMustBePaired, Molecular::Constraints::AtomIdMustMatchPattern, Molecular::Constraints::AtomMustHaveElementType, Molecular::Constraints::AtomMustHaveId, Molecular::Constraints::BondArrayMustBeChildOfMolecule, Molecular::Constraints::BondMustHaveAtomRefs2, Molecular::Constraints::BondMustHaveOrder, Molecular::Constraints::BondOrderOtherMustHaveDictRef, Molecular::Constraints::BondOrderShouldNotBeNumeric, Molecular::Constraints::BondStereoCisTransMustHaveAtomRefs4, Molecular::Constraints::BondStereoOtherMustHaveDictRef, Molecular::Constraints::BondStereoWedgeHashMustHaveAtomRefs2, Molecular::Constraints::MoleculeAtomArrayMutuallyExclusiveWithChildren, Molecular::Constraints::MoleculeBondArrayMutuallyExclusiveWithChildren, Molecular::Constraints::MoleculeMustHaveId, Molecular::Constraints::PropertyMustHaveDictRef, Molecular::Constraints::ScalarMustHaveDataType, UnitDictionary::Constraints::UnitListMustContainAtLeastOneUnit, UnitDictionary::Constraints::UnitListMustHaveNamespace, UnitDictionary::Constraints::UnitMustContainDefinition, UnitDictionary::Constraints::UnitMustHaveId, UnitDictionary::Constraints::UnitMustHaveSymbolAndUnitType, UnitTypeDictionary::Constraints::UnitTypeIdMustMatchPattern, UnitTypeDictionary::Constraints::UnitTypeListMustContainAtLeastOneUnitType, UnitTypeDictionary::Constraints::UnitTypeListMustHaveNamespace, UnitTypeDictionary::Constraints::UnitTypeMustContainDefinition, UnitTypeDictionary::Constraints::UnitTypeMustHaveIdAndName
Instance Method Summary collapse
Instance Method Details
#check(document) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/chemicalml/convention/constraint.rb', line 72 def check(document) violations = [] walk_nodes(document) do |node, path| violations.concat(Array(check_node(node, path))) end violations end |
#check_node(_node, _path) ⇒ Object
80 81 82 |
# File 'lib/chemicalml/convention/constraint.rb', line 80 def check_node(_node, _path) [] end |