Module: Semverve::VersionChecks
- Defined in:
- lib/semverve/version_checks.rb
Overview
Registry and check adapters for version-maintenance surfaces.
Defined Under Namespace
Classes: Check, CodeReferences, DocReferences, PackageMetadataCheck, RailsConfigMetadataCheck
Class Method Summary collapse
-
.all(extra_checks: []) ⇒ Array<#name>
All checks available to task dispatch and validation.
-
.default_names ⇒ Array<Symbol>
Default core version-maintenance surfaces for package projects.
-
.fetch(name, extra_checks: []) ⇒ #name
Fetches a registered check by name.
-
.names(extra_checks: []) ⇒ Array<Symbol>
Registered check names.
-
.normalize(checks, extra_checks: []) ⇒ Array<Symbol>
Validates and normalizes configured check names.
-
.register(check) ⇒ #name
Registers a core version check.
Class Method Details
.all(extra_checks: []) ⇒ Array<#name>
All checks available to task dispatch and validation.
30 31 32 33 34 |
# File 'lib/semverve/version_checks.rb', line 30 def all(extra_checks: []) (core_checks.values + extra_checks).each_with_object({}) do |check, checks| checks[check.name] = check end.values end |
.default_names ⇒ Array<Symbol>
Default core version-maintenance surfaces for package projects.
81 82 83 |
# File 'lib/semverve/version_checks.rb', line 81 def default_names [:doc_references, :code_references, :package_metadata] end |
.fetch(name, extra_checks: []) ⇒ #name
Fetches a registered check by name.
43 44 45 46 47 48 49 |
# File 'lib/semverve/version_checks.rb', line 43 def fetch(name, extra_checks: []) normalized_name = normalize_name(name) check = all(extra_checks: extra_checks).find { |candidate| candidate.name == normalized_name } return check if check raise Error, ([normalized_name], extra_checks: extra_checks) end |
.names(extra_checks: []) ⇒ Array<Symbol>
Registered check names.
73 74 75 |
# File 'lib/semverve/version_checks.rb', line 73 def names(extra_checks: []) all(extra_checks: extra_checks).map(&:name) end |
.normalize(checks, extra_checks: []) ⇒ Array<Symbol>
Validates and normalizes configured check names.
58 59 60 61 62 63 64 65 |
# File 'lib/semverve/version_checks.rb', line 58 def normalize(checks, extra_checks: []) normalized_checks = Array(checks).map { |check| normalize_name(check) } valid_names = names(extra_checks: extra_checks) return normalized_checks if normalized_checks.all? { |check| valid_names.include?(check) } invalid_checks = normalized_checks.reject { |check| valid_names.include?(check) } raise Error, (invalid_checks, extra_checks: extra_checks) end |
.register(check) ⇒ #name
Registers a core version check.
20 21 22 |
# File 'lib/semverve/version_checks.rb', line 20 def register(check) core_checks[check.name] = check end |