Module: Chemicalml::Convention::Compchem::Constraints::ModulePredicates

Overview

Internal: helpers shared by every compchem constraint. Mixed into each constraint class so the role + dictRef checks live in one place (DRY).

Instance Method Summary collapse

Instance Method Details

#calculation_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 31

def calculation_module?(node)
  cml_module?(node) && node.dict_ref == 'compchem:calculation'
end

#child_modules_with(node, dict_ref) ⇒ Object



43
44
45
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 43

def child_modules_with(node, dict_ref)
  (node.modules || []).select { |m| m.dict_ref == dict_ref }
end

#cml_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 11

def cml_module?(node)
  node.is_a?(Chemicalml::Cml::Role::Module)
end

#compchem_root?(node) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 15

def compchem_root?(node)
  cml_module?(node) && node.convention == 'convention:compchem'
end

#environment_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 39

def environment_module?(node)
  cml_module?(node) && node.dict_ref == 'compchem:environment'
end

#finalization_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 35

def finalization_module?(node)
  cml_module?(node) && node.dict_ref == 'compchem:finalization'
end

#initialization_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 27

def initialization_module?(node)
  cml_module?(node) && node.dict_ref == 'compchem:initialization'
end

#job_list_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 19

def job_list_module?(node)
  cml_module?(node) && node.dict_ref == 'compchem:jobList'
end

#job_module?(node) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/chemicalml/convention/compchem/constraints/module_predicates.rb', line 23

def job_module?(node)
  cml_module?(node) && node.dict_ref == 'compchem:job'
end