Class: Chemicalml::Convention::Molecular::Constraints::MoleculeIdShouldMatchPattern
- Inherits:
-
Constraint::NodeConstraint
- Object
- Constraint
- Constraint::NodeConstraint
- Chemicalml::Convention::Molecular::Constraints::MoleculeIdShouldMatchPattern
- Includes:
- Chemicalml::Cml::Patterns
- Defined in:
- lib/chemicalml/convention/molecular/constraints/molecule_id_should_match_pattern.rb
Overview
A <molecule>'s id attribute SHOULD match the XSD
moleculeIDType pattern (letter/underscore start, alphanumeric
body, optional namespace prefix). Warning severity.
Constant Summary
Constants included from Chemicalml::Cml::Patterns
Chemicalml::Cml::Patterns::ATOM_ID_PATTERN, Chemicalml::Cml::Patterns::BOND_REF_PATTERN, Chemicalml::Cml::Patterns::DELIMITER_PATTERN, Chemicalml::Cml::Patterns::DICTIONARY_PREFIX_PATTERN, Chemicalml::Cml::Patterns::FORMULA_PATTERN, Chemicalml::Cml::Patterns::HEAD_PATTERN, Chemicalml::Cml::Patterns::ID_PATTERN, Chemicalml::Cml::Patterns::ISOTOPIC_SPIN_PATTERN, Chemicalml::Cml::Patterns::MOLECULE_ID_PATTERN, Chemicalml::Cml::Patterns::NAMESPACE_PATTERN, Chemicalml::Cml::Patterns::NAMESPACE_REF_PATTERN, Chemicalml::Cml::Patterns::REF_PATTERN, Chemicalml::Cml::Patterns::REPEAT_PATTERN, Chemicalml::Cml::Patterns::TAIL_PATTERN, Chemicalml::Cml::Patterns::VERSION_PATTERN
Instance Method Summary collapse
Methods inherited from Constraint::NodeConstraint
Instance Method Details
#check_node(node, _path) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/chemicalml/convention/molecular/constraints/molecule_id_should_match_pattern.rb', line 16 def check_node(node, _path) id = node.id.to_s return [] if id.empty? return [] if id.match?(/\A#{MOLECULE_ID_PATTERN.source}\z/) [violation(path: yield_path(node), message: "molecule id #{id.inspect} should match the moleculeIDType pattern " \ '(letter start, alphanumeric body, optional prefix)', severity: :warning, value: id)] end |