{"action":"created","issue":{"url":"https://api.github.com/repos/coala-analyzer/coala/issues/725","labels_url":"https://api.github.com/repos/coala-analyzer/coala/issues/725/labels{/name}","comments_url":"https://api.github.com/repos/coala-analyzer/coala/issues/725/comments","events_url":"https://api.github.com/repos/coala-analyzer/coala/issues/725/events","html_url":"https://github.com/coala-analyzer/coala/issues/725","id":92606437,"number":725,"title":"Next Generation Bears [$60]","user":{"login":"sils1297","id":5716520,"avatar_url":"https://avatars.githubusercontent.com/u/5716520?v=3","gravatar_id":"","url":"https://api.github.com/users/sils1297","html_url":"https://github.com/sils1297","followers_url":"https://api.github.com/users/sils1297/followers","following_url":"https://api.github.com/users/sils1297/following{/other_user}","gists_url":"https://api.github.com/users/sils1297/gists{/gist_id}","starred_url":"https://api.github.com/users/sils1297/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sils1297/subscriptions","organizations_url":"https://api.github.com/users/sils1297/orgs","repos_url":"https://api.github.com/users/sils1297/repos","events_url":"https://api.github.com/users/sils1297/events{/privacy}","received_events_url":"https://api.github.com/users/sils1297/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/coala-analyzer/coala/labels/bounty","name":"bounty","color":"129e5e"},{"url":"https://api.github.com/repos/coala-analyzer/coala/labels/feature","name":"feature","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/coala-analyzer/coala/milestones/2","html_url":"https://github.com/coala-analyzer/coala/milestones/0.2%20alpha","labels_url":"https://api.github.com/repos/coala-analyzer/coala/milestones/2/labels","id":973255,"number":2,"title":"0.2 alpha","description":"Should make coala about feature complete. This does not yet include 'optional' features like caching which is only performance relevant.","creator":{"login":"sils1297","id":5716520,"avatar_url":"https://avatars.githubusercontent.com/u/5716520?v=3","gravatar_id":"","url":"https://api.github.com/users/sils1297","html_url":"https://github.com/sils1297","followers_url":"https://api.github.com/users/sils1297/followers","following_url":"https://api.github.com/users/sils1297/following{/other_user}","gists_url":"https://api.github.com/users/sils1297/gists{/gist_id}","starred_url":"https://api.github.com/users/sils1297/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sils1297/subscriptions","organizations_url":"https://api.github.com/users/sils1297/orgs","repos_url":"https://api.github.com/users/sils1297/repos","events_url":"https://api.github.com/users/sils1297/events{/privacy}","received_events_url":"https://api.github.com/users/sils1297/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":158,"state":"open","created_at":"2015-02-10T09:03:18Z","updated_at":"2015-07-02T12:54:06Z","due_on":"2015-07-30T22:00:00Z","closed_at":null},"comments":10,"created_at":"2015-07-02T10:39:10Z","updated_at":"2015-07-04T11:10:37Z","closed_at":null,"body":"This is an umbrella bug for https://github.com/coala-analyzer/coala/issues/724 , https://github.com/coala-analyzer/coala/issues/722 , https://github.com/coala-analyzer/coala/issues/720 with complete removal of the old Bear class.\r\n\r\nI opened this because I'll be putting a bounty on it soon :)\r\n\r\n<bountysource-plugin>\r\n---\r\nThere is a **[$60 open bounty](https://www.bountysource.com/issues/23522738-next-generation-bears?utm_campaign=plugin&utm_content=tracker%2F2228228&utm_medium=issues&utm_source=github)** on this issue. Add to the bounty at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2228228&utm_medium=issues&utm_source=github).\r\n</bountysource-plugin>"},"comment":{"url":"https://api.github.com/repos/coala-analyzer/coala/issues/comments/118500858","html_url":"https://github.com/coala-analyzer/coala/issues/725#issuecomment-118500858","issue_url":"https://api.github.com/repos/coala-analyzer/coala/issues/725","id":118500858,"user":{"login":"sils1297","id":5716520,"avatar_url":"https://avatars.githubusercontent.com/u/5716520?v=3","gravatar_id":"","url":"https://api.github.com/users/sils1297","html_url":"https://github.com/sils1297","followers_url":"https://api.github.com/users/sils1297/followers","following_url":"https://api.github.com/users/sils1297/following{/other_user}","gists_url":"https://api.github.com/users/sils1297/gists{/gist_id}","starred_url":"https://api.github.com/users/sils1297/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sils1297/subscriptions","organizations_url":"https://api.github.com/users/sils1297/orgs","repos_url":"https://api.github.com/users/sils1297/repos","events_url":"https://api.github.com/users/sils1297/events{/privacy}","received_events_url":"https://api.github.com/users/sils1297/received_events","type":"User","site_admin":false},"created_at":"2015-07-04T11:10:37Z","updated_at":"2015-07-04T11:10:37Z","body":"Actually I think the cleanest way is to use python annotations. So basically we want to import everything that is marked with the `@bear` decorator. We could just make the `@bear` decorator alter the signature, i.e. it adds an annotation for the return value. Think of it: a bear is anything that yields results so we could annotate it like\r\n\r\n```\r\nfrom coalib.results.Result import Result\r\n\r\ndef this_is_a_bear_without_using_a_decorator(file_dict) -> Result:\r\n    pass\r\n```\r\n\r\nSo the `@bear` decorator does nothing but adding this Result annotation and coala just checks for this annotation. This way we don't even rely on our decorators or the name of them."}}