Class: Chemicalml::Convention::Compchem::Constraints::InitializationMustHaveContent
- Inherits:
-
Chemicalml::Convention::Constraint::NodeConstraint
- Object
- Constraint
- Chemicalml::Convention::Constraint::NodeConstraint
- Chemicalml::Convention::Compchem::Constraints::InitializationMustHaveContent
- Defined in:
- lib/chemicalml/convention/compchem/constraints/initialization_must_have_content.rb
Overview
An initialization module MUST contain at least one of:
molecule, parameterList, or a user-defined module child.
Per the compchem convention spec.
Instance Method Summary collapse
Methods inherited from Chemicalml::Convention::Constraint::NodeConstraint
Instance Method Details
#check_node(node, path) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/chemicalml/convention/compchem/constraints/initialization_must_have_content.rb', line 14 def check_node(node, path) return [] unless node.dict_ref == 'compchem:initialization' has_molecule = molecule_count(node).positive? has_param_list = parameter_list_count(node).positive? has_user_module = user_module_count(node).positive? return [] if has_molecule || has_param_list || has_user_module [violation(path: path.join('/'), message: 'initialization module must contain at least one of: ' \ 'molecule, parameterList, or user-defined module')] end |