Class: HttpApiTools::SerializerRegistry

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/http_api_tools/serializer_registry.rb

Instance Method Summary collapse

Instance Method Details

#get(type, class_name) ⇒ Object



8
9
10
# File 'lib/http_api_tools/serializer_registry.rb', line 8

def get(type, class_name)
  registry.fetch(type.to_sym, {})[class_name]
end

#register(type, class_name, serializer) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/http_api_tools/serializer_registry.rb', line 12

def register(type, class_name, serializer)
  if existing_serializer = get(type, class_name)
    raise "A '#{type}' serializer for '#{class_name}' instances has already been registered as #{existing_serializer.name}"
  else
    registry[type.to_sym][class_name] = serializer
  end
end