Class: Chemicalml::Convention::Compchem::Constraints::CompchemModuleMustContainJobList

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

Overview

A CompChem module MUST contain at least one jobList module child per the compchem convention.

Instance Method Summary collapse

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

#check

Instance Method Details

#check_node(node, path) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb', line 10

def check_node(node, path)
  return [] unless compchem_root?(node)

  job_lists = node.modules.select { |m| m.dict_ref == "compchem:jobList" }
  return [] unless job_lists.empty?

  [violation(path: path.join("/"),
             message: "compchem module must contain at least one jobList module")]
end