Class: Chemicalml::Cli::ConstraintsCommand

Inherits:
Command
  • Object
show all
Defined in:
lib/chemicalml/cli/constraints_command.rb

Overview

chemicalml constraints — list every registered constraint across every convention with its applies_to roles.

Instance Attribute Summary

Attributes inherited from Command

#logger

Instance Method Summary collapse

Methods inherited from Command

#initialize, run

Constructor Details

This class inherits a constructor from Chemicalml::Cli::Command

Instance Method Details

#run(_options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/chemicalml/cli/constraints_command.rb', line 8

def run(_options = {})
  current = nil
  Chemicalml::Convention::Registry.each_constraint do |conv, klass|
    unless conv.qname == current
      current = conv.qname
      puts ''
      puts "=== #{current} (#{conv.constraint_count}) ==="
    end
    name = klass.name.split('::').last
    applies = klass.applies_to_roles
    roles_str = applies.nil? ? '' : "#{applies.map { |r| r.name.split('::').last }.join(', ')}"
    puts "  #{name}#{roles_str}"
    desc = klass.description
    puts "    #{desc}" unless desc == name
  end
  0
end