Skip to content

Commit 075aafb

Browse files
committed
feat: raise when registering duplicate type name
1 parent 6eed333 commit 075aafb

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

lib/anchor/schema.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
module Anchor
22
class Schema
3+
class DuplicateTypeError < StandardError; end
4+
35
class << self
46
Register = Struct.new(:resources, :enums, keyword_init: true)
57

@@ -9,6 +11,9 @@ def register
911

1012
def resource(resource)
1113
@resources ||= []
14+
if @resources.map(&:anchor_schema_name).include?(resource.anchor_schema_name)
15+
raise DuplicateTypeError, "A resource with type name '#{resource.anchor_schema_name}' has already been registered."
16+
end
1217
@resources.push(resource)
1318
end
1419

0 commit comments

Comments
 (0)