Class: NxtErrorRegistry::CodesHarness

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/nxt_error_registry/codes_harness.rb

Constant Summary collapse

CodeAlreadyRegistered =
Class.new(StandardError)

Instance Method Summary collapse

Instance Method Details

#generate_codeObject



8
9
10
11
12
# File 'lib/nxt_error_registry/codes_harness.rb', line 8

def generate_code
  generate_next_code
rescue CodeAlreadyRegistered
  retry
end

#generate_next_codeObject



14
15
16
17
18
19
# File 'lib/nxt_error_registry/codes_harness.rb', line 14

def generate_next_code
  new_code = SecureRandom.uuid
  return new_code unless registered_codes.include?(new_code)

  raise CodeAlreadyRegistered, "#{new_code} already registered"
end

#registered_codesObject



21
22
23
# File 'lib/nxt_error_registry/codes_harness.rb', line 21

def registered_codes
  registry.codes
end

#registryObject



25
26
27
# File 'lib/nxt_error_registry/codes_harness.rb', line 25

def registry
  NxtErrorRegistry::Registry.instance
end