Class: CleoQualityReview::Checks::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/cleo_quality_review/checks/registry.rb

Overview

Registry for available quality check implementations

Defined Under Namespace

Classes: CheckName, Registration, UnknownCheckError

Class Method Summary collapse

Class Method Details

.register(name, klass, tool_type:) ⇒ void

This method returns an undefined value.

Register a quality check implementation

Parameters:

  • name (String)

    check identifier

  • klass (Class)

    class name under CleoQualityReview

  • tool_type (Symbol, String)

    category of tool findings



30
31
32
33
34
35
# File 'lib/cleo_quality_review/checks/registry.rb', line 30

def register(name, klass, tool_type:)
  name = CheckName.new(name).to_s
  registration = Registration.new(check_name: name.to_s, klass: klass, tool_type: tool_type.to_s)
  registrations[name] = registration
  nil
end

.registered?(tool_name) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/cleo_quality_review/checks/registry.rb', line 46

def registered?(tool_name)
  registrations.key?(CheckName.new(tool_name))
end

.resolve(names) ⇒ Array<Class>

Resolve check names to check classes

Parameters:

  • names (Array<String>)

    check names to resolve

Returns:

  • (Array<Class>)

    resolved check classes

Raises:

  • (ArgumentError)

    if an unknown check name is provided



42
43
44
# File 'lib/cleo_quality_review/checks/registry.rb', line 42

def resolve(names)
  names_to_resolve(names).map { |name| resolve_name(name) }
end