Class: Chemicalml::Convention::Compchem::Constraints::JobMustContainInitialization
- Inherits:
-
Chemicalml::Convention::Constraint::NodeConstraint
- Object
- Constraint
- Chemicalml::Convention::Constraint::NodeConstraint
- Chemicalml::Convention::Compchem::Constraints::JobMustContainInitialization
- Defined in:
- lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb
Overview
A job module MUST contain exactly one initialization module child per the compchem convention.
Instance Method Summary collapse
Methods inherited from Chemicalml::Convention::Constraint::NodeConstraint
Instance Method Details
#check_node(node, path) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb', line 10 def check_node(node, path) return [] unless job_module?(node) modules = node.modules || [] inits = modules.select { |m| m.dict_ref == "compchem:initialization" } return [] if inits.length == 1 = if inits.empty? "job module must contain exactly one initialization module (found 0)" else "job module must contain exactly one initialization module (found #{inits.length})" end [violation(path: path.join("/"), message: )] end |