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::Cascade::Constraints::ReactionSchemeMustHaveContent, Chemicalml::Convention::Cascade::Constraints::ReactionStepListMustContainSteps, Chemicalml::Convention::Cascade::Constraints::ReactionStepMustHaveReactionOrLists, Chemicalml::Convention::Cascade::Constraints::ReactiveCentreAtomRefsShouldBePresent, 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::FinalizationMustHaveContent, Chemicalml::Convention::Compchem::Constraints::FinalizationMustNotContainParameter, Chemicalml::Convention::Compchem::Constraints::InitializationAtMostOneMolecule, Chemicalml::Convention::Compchem::Constraints::InitializationAtMostOneParameterList, Chemicalml::Convention::Compchem::Constraints::InitializationMustHaveContent, 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::AtomElementTypeShouldBeInPeriodicTable, Molecular::Constraints::AtomIdMustMatchPattern, Molecular::Constraints::AtomMustHaveElementType, Molecular::Constraints::AtomMustHaveId, Molecular::Constraints::AtomParityAtomRefs4ShouldBeDistinct, Molecular::Constraints::BondArrayMustBeChildOfMolecule, Molecular::Constraints::BondAtomRefs2ShouldBeDistinct, Molecular::Constraints::BondIdShouldMatchPattern, Molecular::Constraints::BondMustHaveAtomRefs2, Molecular::Constraints::BondMustHaveOrder, Molecular::Constraints::BondOrderOtherMustHaveDictRef, Molecular::Constraints::BondOrderShouldBeInEnum, Molecular::Constraints::BondOrderShouldNotBeNumeric, Molecular::Constraints::BondStereoAtomRefs4ShouldBeDistinct, Molecular::Constraints::BondStereoCisTransMustHaveAtomRefs4, Molecular::Constraints::BondStereoOtherMustHaveDictRef, Molecular::Constraints::BondStereoShouldBeInEnum, Molecular::Constraints::BondStereoWedgeHashMustHaveAtomRefs2, Molecular::Constraints::DictRefShouldResolve, Molecular::Constraints::MoleculeAtomArrayMutuallyExclusiveWithChildren, Molecular::Constraints::MoleculeBondArrayMutuallyExclusiveWithChildren, Molecular::Constraints::MoleculeChiralityShouldBeInEnum, Molecular::Constraints::MoleculeIdShouldMatchPattern, Molecular::Constraints::MoleculeMustHaveId, Molecular::Constraints::PropertyMustHaveDictRef, Molecular::Constraints::PropertyScalarDataTypeMatchesDictionary, Molecular::Constraints::ScalarMustHaveDataType, SimpleUnit::Constraints::UnitMustHavePower, SimpleUnit::Constraints::UnitMustHaveSymbol, Spectroscopy::Constraints::PeakListMustContainPeaks, Spectroscopy::Constraints::PeakShouldHaveValues, Spectroscopy::Constraints::SpectrumMustHaveContent, Spectroscopy::Constraints::SpectrumMustHaveConvention, Spectroscopy::Constraints::SpectrumMustHaveFormat, UnitDictionary::Constraints::UnitListMustContainAtLeastOneUnit, UnitDictionary::Constraints::UnitListMustHaveNamespace, UnitDictionary::Constraints::UnitMustContainDefinition, UnitDictionary::Constraints::UnitMustHaveId, UnitDictionary::Constraints::UnitMustHaveMultiplierOrConstantToSi, UnitDictionary::Constraints::UnitMustHaveParentSi, UnitDictionary::Constraints::UnitMustHaveSymbolAndUnitType, UnitDictionary::Constraints::UnitMustHaveTitle, UnitDictionary::Constraints::UnitParentSiShouldResolve, UnitDictionary::Constraints::UnitUnitTypeShouldResolve, 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
103 104 105 106 107 108 109 |
# File 'lib/chemicalml/convention/constraint.rb', line 103 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
111 112 113 |
# File 'lib/chemicalml/convention/constraint.rb', line 111 def check_node(_node, _path) [] end |