Class: Chemicalml::Convention::Compchem::Constraints::InitializationMustNotContainProperty

Inherits:
Chemicalml::Convention::Constraint::NodeConstraint show all
Includes:
ModulePredicates
Defined in:
lib/chemicalml/convention/compchem/constraints/initialization_must_not_contain_property.rb

Overview

The initialization module MUST NOT contain property or propertyList children directly. (Properties belong in finalization.)

Instance Method Summary collapse

Methods included from ModulePredicates

#calculation_module?, #child_modules_with, #cml_module?, #compchem_root?, #environment_module?, #finalization_module?, #initialization_module?, #job_list_module?, #job_module?

Methods inherited from Chemicalml::Convention::Constraint::NodeConstraint

#check

Instance Method Details

#check_node(node, path) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/chemicalml/convention/compchem/constraints/initialization_must_not_contain_property.rb', line 14

def check_node(node, path)

  violations = []
  unless (node.property_lists || []).empty?
    violations << violation(path: path.join('/'),
                            message: 'initialization module must not contain propertyList children ' \
                                     '(properties belong in finalization)')
  end
  violations
end