Exception: DilisensePepClient::ComplianceError

Inherits:
Error
  • Object
show all
Defined in:
lib/dilisense_pep_client/errors.rb

Overview

Compliance and audit-related errors

Instance Attribute Summary collapse

Attributes inherited from Error

#context, #error_code, #request_id, #timestamp

Instance Method Summary collapse

Methods inherited from Error

#retryable?, #to_h

Constructor Details

#initialize(message, compliance_rule:, severity_level: :medium, **options) ⇒ ComplianceError

Returns a new instance of ComplianceError.



368
369
370
371
372
373
374
375
376
377
378
379
# File 'lib/dilisense_pep_client/errors.rb', line 368

def initialize(message, compliance_rule:, severity_level: :medium, **options)
  @compliance_rule = compliance_rule
  @severity_level = severity_level
  
  context = {
    compliance_rule: compliance_rule,
    severity_level: severity_level,
    requires_escalation: severity_level == :critical
  }.merge(options.fetch(:context, {}))
  
  super(message, error_code: "COMPLIANCE_VIOLATION", context: context, **options)
end

Instance Attribute Details

#compliance_ruleObject (readonly)

Returns the value of attribute compliance_rule.



366
367
368
# File 'lib/dilisense_pep_client/errors.rb', line 366

def compliance_rule
  @compliance_rule
end

#severity_levelObject (readonly)

Returns the value of attribute severity_level.



366
367
368
# File 'lib/dilisense_pep_client/errors.rb', line 366

def severity_level
  @severity_level
end

Instance Method Details

#critical?Boolean

Returns:

  • (Boolean)


385
386
387
# File 'lib/dilisense_pep_client/errors.rb', line 385

def critical?
  severity_level == :critical
end

#security_event?Boolean

Returns:

  • (Boolean)


381
382
383
# File 'lib/dilisense_pep_client/errors.rb', line 381

def security_event?
  true
end