diff --git a/src/deserializer-manager.coffee b/src/deserializer-manager.coffee index 54b76c3c8..8398b1379 100644 --- a/src/deserializer-manager.coffee +++ b/src/deserializer-manager.coffee @@ -26,11 +26,14 @@ class DeserializerManager # Public: Register the given class(es) as deserializers. # - # * `classes` One or more classes to register. - add: (classes...) -> - @deserializers[klass.name] = klass for klass in classes + # * `deserializers` One or more deserializers to register. A deserializer can + # be any object with a `.name` property and a `.deserialize()` method. A + # common approach is to register a *constructor* as the deserializer for its + # instances by adding a `.deserialize()` class method. + add: (deserializers...) -> + @deserializers[deserializer.name] = deserializer for deserializer in deserializers new Disposable => - delete @deserializers[klass.name] for klass in classes + delete @deserializers[deserializer.name] for deserializer in deserializers # Public: Remove the given class(es) as deserializers. #