Class: Chemicalml::Convention::Molecular::Constraints::MoleculeChiralityShouldBeInEnum

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

Overview

A <molecule>'s chirality attribute SHOULD be one of the XSD chiralityType enum values: enantiomer/racemate/unknown/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/molecule_chirality_should_be_in_enum.rb', line 16

def check_node(node, _path)
  chirality = node.chirality.to_s
  return [] if chirality.empty?
  return [] if CHIRALITY_VALUES.include?(chirality)

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