{"action":"created","issue":{"url":"https://api.github.com/repos/zooniverse/Panoptes/issues/1797","repository_url":"https://api.github.com/repos/zooniverse/Panoptes","labels_url":"https://api.github.com/repos/zooniverse/Panoptes/issues/1797/labels{/name}","comments_url":"https://api.github.com/repos/zooniverse/Panoptes/issues/1797/comments","events_url":"https://api.github.com/repos/zooniverse/Panoptes/issues/1797/events","html_url":"https://github.com/zooniverse/Panoptes/pull/1797","id":154028198,"number":1797,"title":"CSV export to allow new tasks","user":{"login":"zwolf","id":374835,"avatar_url":"https://avatars.githubusercontent.com/u/374835?v=3","gravatar_id":"","url":"https://api.github.com/users/zwolf","html_url":"https://github.com/zwolf","followers_url":"https://api.github.com/users/zwolf/followers","following_url":"https://api.github.com/users/zwolf/following{/other_user}","gists_url":"https://api.github.com/users/zwolf/gists{/gist_id}","starred_url":"https://api.github.com/users/zwolf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zwolf/subscriptions","organizations_url":"https://api.github.com/users/zwolf/orgs","repos_url":"https://api.github.com/users/zwolf/repos","events_url":"https://api.github.com/users/zwolf/events{/privacy}","received_events_url":"https://api.github.com/users/zwolf/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zooniverse/Panoptes/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"marten","id":277,"avatar_url":"https://avatars.githubusercontent.com/u/277?v=3","gravatar_id":"","url":"https://api.github.com/users/marten","html_url":"https://github.com/marten","followers_url":"https://api.github.com/users/marten/followers","following_url":"https://api.github.com/users/marten/following{/other_user}","gists_url":"https://api.github.com/users/marten/gists{/gist_id}","starred_url":"https://api.github.com/users/marten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marten/subscriptions","organizations_url":"https://api.github.com/users/marten/orgs","repos_url":"https://api.github.com/users/marten/repos","events_url":"https://api.github.com/users/marten/events{/privacy}","received_events_url":"https://api.github.com/users/marten/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2016-05-10T14:59:16Z","updated_at":"2016-05-18T14:08:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zooniverse/Panoptes/pulls/1797","html_url":"https://github.com/zooniverse/Panoptes/pull/1797","diff_url":"https://github.com/zooniverse/Panoptes/pull/1797.diff","patch_url":"https://github.com/zooniverse/Panoptes/pull/1797.patch"},"body":"In order to allow the more complex Combo and Dropdown tasks to be correctly exported, I did some refactoring of Formatter::Csv::AnnotationForCsv. Hopefully this will make it easier to add new tasks in the future. \r\n\r\n~~This is a Work In Progress PR, and while it should all currently be working, not all the upstream specs are passing, it could be prettier/DRYer, and Hound is going to throw a fit. Please let me know, @marten or @camallen, about changes that you'd like to see. I anticipate there will be many, but I wanted to get this into your hands ASAP.~~\r\n\r\nUpdate: ready to be reviewed.\r\n\r\n# Review checklist\r\n\r\n- [x] First, the most important one: is this PR small enough that you can actually review it? Feel free to just reject a branch if the changes are hard to review due to the length of the diff.\r\n- [x] If there are any migrations, will they the previous version of the app work correctly after they've been run (e.g. the don't remove columns still known about by ActiveRecord).\r\n- [ ] If anything changed with regards to the public API, are those changes also documented in the `apiary.apib` file?\r\n- [x] Are all the changes covered by tests? Think about any possible edge cases that might be left untested.\r\n"},"comment":{"url":"https://api.github.com/repos/zooniverse/Panoptes/issues/comments/220037255","html_url":"https://github.com/zooniverse/Panoptes/pull/1797#issuecomment-220037255","issue_url":"https://api.github.com/repos/zooniverse/Panoptes/issues/1797","id":220037255,"user":{"login":"marten","id":277,"avatar_url":"https://avatars.githubusercontent.com/u/277?v=3","gravatar_id":"","url":"https://api.github.com/users/marten","html_url":"https://github.com/marten","followers_url":"https://api.github.com/users/marten/followers","following_url":"https://api.github.com/users/marten/following{/other_user}","gists_url":"https://api.github.com/users/marten/gists{/gist_id}","starred_url":"https://api.github.com/users/marten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marten/subscriptions","organizations_url":"https://api.github.com/users/marten/orgs","repos_url":"https://api.github.com/users/marten/repos","events_url":"https://api.github.com/users/marten/events{/privacy}","received_events_url":"https://api.github.com/users/marten/received_events","type":"User","site_admin":false},"created_at":"2016-05-18T14:08:26Z","updated_at":"2016-05-18T14:08:26Z","body":"Having a better look, that `@current` variable bothers me. Probably because it makes stuff have mutating state."}}