Class: Chemicalml::Convention::Molecular::Constraints::BondStereoShouldBeInEnum

Inherits:
Constraint::NodeConstraint show all
Includes:
Chemicalml::Cml::Enums
Defined in:
lib/chemicalml/convention/molecular/constraints/bond_stereo_should_be_in_enum.rb

Overview

A <bondStereo>'s value attribute SHOULD be one of the XSD stereoType enum values: C/T/W/H/undefined/other. Warning severity.

Constant Summary

Constants included from Chemicalml::Cml::Enums

Chemicalml::Cml::Enums::ACTIONORDER_VALUES, Chemicalml::Cml::Enums::ANGLEUNITS_VALUES, Chemicalml::Cml::Enums::CELLPARAMETER_VALUES, Chemicalml::Cml::Enums::CHIRALITY_VALUES, Chemicalml::Cml::Enums::DIMENSION_VALUES, Chemicalml::Cml::Enums::EIGENORIENTATION_VALUES, Chemicalml::Cml::Enums::ELEMENT_TYPE_VALUES, Chemicalml::Cml::Enums::ERRORBASIS_VALUES, Chemicalml::Cml::Enums::FORMAT_VALUES, Chemicalml::Cml::Enums::FT_VALUES, Chemicalml::Cml::Enums::INHERIT_VALUES, Chemicalml::Cml::Enums::LATTICE_VALUES, Chemicalml::Cml::Enums::LINKTYPE_VALUES, Chemicalml::Cml::Enums::LM_VALUES, Chemicalml::Cml::Enums::MATRIX_VALUES, Chemicalml::Cml::Enums::MEASUREMENT_VALUES, Chemicalml::Cml::Enums::ORDER_VALUES, Chemicalml::Cml::Enums::PEAKMULTIPLICITY_VALUES, Chemicalml::Cml::Enums::PEAKSHAPE_VALUES, Chemicalml::Cml::Enums::PEAKSTRUCTURETYPE_VALUES, Chemicalml::Cml::Enums::REACTIONFORMAT_VALUES, Chemicalml::Cml::Enums::REACTIONROLE_VALUES, Chemicalml::Cml::Enums::REACTIONSTEPLISTTYPE_VALUES, Chemicalml::Cml::Enums::REACTIONTYPE_VALUES, Chemicalml::Cml::Enums::SCHEME_VALUES, Chemicalml::Cml::Enums::SHAPE_VALUES, Chemicalml::Cml::Enums::SPACE_VALUES, Chemicalml::Cml::Enums::SPECTRUMTYPE_VALUES, Chemicalml::Cml::Enums::STATE_VALUES, Chemicalml::Cml::Enums::STEREO_VALUES, Chemicalml::Cml::Enums::SUBSTANCELISTTYPE_VALUES, Chemicalml::Cml::Enums::TABLETYPE_VALUES

Instance Method Summary collapse

Methods inherited from Constraint::NodeConstraint

#check

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_stereo_should_be_in_enum.rb', line 16

def check_node(node, _path)
  value = node.content.to_s
  return [] if value.empty?
  return [] if STEREO_VALUES.include?(value)

  [violation(path: yield_path(node),
             message: "bondStereo #{node.id.inspect} value #{value.inspect} should be one of " \
                      "#{STEREO_VALUES.to_a.sort.inspect}",
             severity: :warning,
             value: value)]
end