class NxtErrorRegistry::DefaultCodeValidator
Constants
- CodeAlreadyTakenError
- FORMAT
- InvalidCodeFormatError
- LEGACY_FORMAT
Attributes
code[R]
context[R]
name[R]
type[R]
Public Class Methods
new(name, type, code, context)
click to toggle source
# File lib/nxt_error_registry/default_code_validator.rb, line 9 def initialize(name, type, code, context) @name = name @type = type @code = code @context = context end
Public Instance Methods
validate()
click to toggle source
# File lib/nxt_error_registry/default_code_validator.rb, line 16 def validate validate_code_format validate_code_uniqueness code end
Private Instance Methods
registry()
click to toggle source
# File lib/nxt_error_registry/default_code_validator.rb, line 40 def registry NxtErrorRegistry::Registry.instance end
validate_code_format()
click to toggle source
# File lib/nxt_error_registry/default_code_validator.rb, line 27 def validate_code_format return if code =~ FORMAT raise InvalidCodeFormatError, "Code #{code} for name #{name} violates format #{FORMAT} in context: #{context}" end
validate_code_uniqueness()
click to toggle source
# File lib/nxt_error_registry/default_code_validator.rb, line 33 def validate_code_uniqueness duplicates = registry.duplicated_codes return if duplicates.empty? raise CodeAlreadyTakenError, "The following codes are duplicated: #{duplicates.keys.join(',')}" end