class Hat::SerializerRegistry

Public Instance Methods

get(type, class_name) click to toggle source
# File lib/hat/serializer_registry.rb, line 8
def get(type, class_name)
  registry.fetch(type.to_sym, {})[class_name]
end
register(type, class_name, serializer) click to toggle source
# File lib/hat/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

Private Instance Methods

registry() click to toggle source
# File lib/hat/serializer_registry.rb, line 22
def registry
  @registry ||= { sideloading: {}, nesting: {} }
end