Module: Dcc::Validate::BusinessRules

Defined in:
lib/dcc/validate/business_rules.rb

Overview

Ruby-side semantic checks that go beyond Schematron. Cross-section consistency, signer coverage, language completeness. Open for extension via the Registry class.

Defined Under Namespace

Classes: MainSignerSingle, Registry, Result, Rule, UniqueIdentifierPresent

Class Method Summary collapse

Class Method Details

.call(dcc) ⇒ Dcc::Validate::BusinessRules::Result

Parameters:

  • dcc (Lutaml::Model::Serializable)

Returns:



110
111
112
113
114
115
116
117
# File 'lib/dcc/validate/business_rules.rb', line 110

def call(dcc)
  issues = Registry.all.flat_map { |rule_class| rule_class.new.check_on(dcc) }
  Result.new(
    issues: issues,
    schema_version: Dcc::TypeGuards.has_attribute?(dcc, :schema_version) ? dcc.schema_version.to_s : nil,
    source: "business_rule",
  )
end