{"action":"closed","issue":{"url":"https://api.github.com/repos/emberjs/data/issues/1658","labels_url":"https://api.github.com/repos/emberjs/data/issues/1658/labels{/name}","comments_url":"https://api.github.com/repos/emberjs/data/issues/1658/comments","events_url":"https://api.github.com/repos/emberjs/data/issues/1658/events","html_url":"https://github.com/emberjs/data/issues/1658","id":25518639,"number":1658,"title":"Serializer Method Documentation","user":{"login":"gordonkristan","id":1527297,"avatar_url":"https://avatars.githubusercontent.com/u/1527297?v=3","gravatar_id":"","url":"https://api.github.com/users/gordonkristan","html_url":"https://github.com/gordonkristan","followers_url":"https://api.github.com/users/gordonkristan/followers","following_url":"https://api.github.com/users/gordonkristan/following{/other_user}","gists_url":"https://api.github.com/users/gordonkristan/gists{/gist_id}","starred_url":"https://api.github.com/users/gordonkristan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gordonkristan/subscriptions","organizations_url":"https://api.github.com/users/gordonkristan/orgs","repos_url":"https://api.github.com/users/gordonkristan/repos","events_url":"https://api.github.com/users/gordonkristan/events{/privacy}","received_events_url":"https://api.github.com/users/gordonkristan/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2014-01-13T18:47:35Z","updated_at":"2015-02-13T18:59:00Z","closed_at":"2015-02-13T18:59:00Z","body":"I've spent the last few hours implementing my own serializer, and I feel as if the documentation is a bit lacking when it comes to implementing one from scratch. The JSON serializer (which is what the REST serializer extends from) has 24 methods. These methods are mostly hooks for customization, which work great when you're extending one of the build in serializers. However, if you're creating one from scratch, it can be difficult to determine which methods are necessary in a serializer (ie. which ones are called externally).\r\n\r\nSo far, I think I've figured out that only the `serialize` and `extract` methods are necessary, but I'm not 100% sure on that. Is it possible to make the documentation a little more clear in that aspect? Or, better yet, create an abstract `Serializer` class to extend from, similar to the `Adapter` class."}}