Class: Chemicalml::Convention::Molecular::Constraints::BondIdShouldMatchPattern
- Inherits:
-
Constraint::NodeConstraint
- Object
- Constraint
- Constraint::NodeConstraint
- Chemicalml::Convention::Molecular::Constraints::BondIdShouldMatchPattern
- Includes:
- Chemicalml::Cml::Patterns
- Defined in:
- lib/chemicalml/convention/molecular/constraints/bond_id_should_match_pattern.rb
Overview
A <bond>'s id attribute SHOULD match the XSD idType
pattern (letter start, alphanumeric body with dots/dashes).
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/bond_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#{ID_PATTERN.source}\z/) [violation(path: yield_path(node), message: "bond id #{id.inspect} should match the idType pattern " \ '(letter start, alphanumeric body with . and -)', severity: :warning, value: id)] end |