{"action":"created","issue":{"url":"https://api.github.com/repos/elixir-lang/ex_doc/issues/550","repository_url":"https://api.github.com/repos/elixir-lang/ex_doc","labels_url":"https://api.github.com/repos/elixir-lang/ex_doc/issues/550/labels{/name}","comments_url":"https://api.github.com/repos/elixir-lang/ex_doc/issues/550/comments","events_url":"https://api.github.com/repos/elixir-lang/ex_doc/issues/550/events","html_url":"https://github.com/elixir-lang/ex_doc/pull/550","id":158719422,"number":550,"title":"Add support for optional behaviour callbacks","user":{"login":"whatyouhide","id":3890250,"avatar_url":"https://avatars.githubusercontent.com/u/3890250?v=3","gravatar_id":"","url":"https://api.github.com/users/whatyouhide","html_url":"https://github.com/whatyouhide","followers_url":"https://api.github.com/users/whatyouhide/followers","following_url":"https://api.github.com/users/whatyouhide/following{/other_user}","gists_url":"https://api.github.com/users/whatyouhide/gists{/gist_id}","starred_url":"https://api.github.com/users/whatyouhide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatyouhide/subscriptions","organizations_url":"https://api.github.com/users/whatyouhide/orgs","repos_url":"https://api.github.com/users/whatyouhide/repos","events_url":"https://api.github.com/users/whatyouhide/events{/privacy}","received_events_url":"https://api.github.com/users/whatyouhide/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-06-06T16:29:16Z","updated_at":"2016-06-06T18:58:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/elixir-lang/ex_doc/pulls/550","html_url":"https://github.com/elixir-lang/ex_doc/pull/550","diff_url":"https://github.com/elixir-lang/ex_doc/pull/550.diff","patch_url":"https://github.com/elixir-lang/ex_doc/pull/550.patch"},"body":"This PR is supposed to add support for `@optional_callbacks`, that will be introduced in 1.3.0 (and close #541). I'm not sure what the process of rolling this out would look like: do we wait for when 1.3 will be released? I think this changes are harmless when `@optional_callbacks` is not supported.\r\n\r\nAlso, I really don't like this solution's implementation because:\r\n\r\n1. we get to reimplement something very very similar to `Kernel.Typespec.beam_callbacks/1`: should we introduce `Kernel.Typespec.beam_optional_callbacks/1` in Elixir itself?\r\n2. this solution displays optional callbacks in a separate section (\"Optional callbacks\") than regular callbacks, but ideally I think we should just mark callbacks as optional (e.g., with `(optional)` near the signature); sadly, I lack the design skills for that 😛 \r\n\r\nYou may be wondering why I opened this PR if I don't like it :), but I did just because the 1.3 release is very very close and I would love to see some kind of support (even if rudimentary) for optional callbacks in the docs for 1.3. Also, we can use this PR to get the conversation started on an implementation :)"},"comment":{"url":"https://api.github.com/repos/elixir-lang/ex_doc/issues/comments/224054219","html_url":"https://github.com/elixir-lang/ex_doc/pull/550#issuecomment-224054219","issue_url":"https://api.github.com/repos/elixir-lang/ex_doc/issues/550","id":224054219,"user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"created_at":"2016-06-06T18:58:24Z","updated_at":"2016-06-06T18:58:24Z","body":"Maybe we can have a tags or notes field where we put extra information.\nRight now, we will add only optional but it could be used for more in the\nfuture.\n\n\n-- \n\n\n*José Valimwww.plataformatec.com.br\n<http://www.plataformatec.com.br/>Founder and Director of R&D*\n"}}
{"actor":{"display_login":"josevalim"}}