{"action":"created","issue":{"url":"https://api.github.com/repos/ndlib/sipity/issues/88","labels_url":"https://api.github.com/repos/ndlib/sipity/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/ndlib/sipity/issues/88/comments","events_url":"https://api.github.com/repos/ndlib/sipity/issues/88/events","html_url":"https://github.com/ndlib/sipity/pull/88","id":54590217,"number":88,"title":"Extracting form commands to relevant form objects","user":{"login":"jeremyf","id":2130,"avatar_url":"https://avatars.githubusercontent.com/u/2130?v=3","gravatar_id":"","url":"https://api.github.com/users/jeremyf","html_url":"https://github.com/jeremyf","followers_url":"https://api.github.com/users/jeremyf/followers","following_url":"https://api.github.com/users/jeremyf/following{/other_user}","gists_url":"https://api.github.com/users/jeremyf/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremyf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremyf/subscriptions","organizations_url":"https://api.github.com/users/jeremyf/orgs","repos_url":"https://api.github.com/users/jeremyf/repos","events_url":"https://api.github.com/users/jeremyf/events{/privacy}","received_events_url":"https://api.github.com/users/jeremyf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-16T15:51:47Z","updated_at":"2015-01-16T16:36:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ndlib/sipity/pulls/88","html_url":"https://github.com/ndlib/sipity/pull/88","diff_url":"https://github.com/ndlib/sipity/pull/88.diff","patch_url":"https://github.com/ndlib/sipity/pull/88.patch"},"body":"By extracting the submit behavior to the form, a few things will be\r\npossible.\r\n\r\n* Polymorphism related to forms - That is to say each form has a\r\n  reasonable idea of what it needs to do; so do that. This aligns\r\n  better with the Reform and ActiveForm behaviors\r\n* Begin removing repository command module_functions - Given that many\r\n  of the command behaviors were both a module_function and an instance\r\n  method, it implies a certain complexity and leakyness in the\r\n  abstraction.\r\n* Removes several methods from the command modules\r\n* Pushes the relevant form code closer to the object in question.\r\n\r\n\r\n> Banu: so you are moving away from commands\r\n>   module?\r\n> Jeremy: In the case of the form's submit method, yes;\r\n>   However in the case of interacting with the data, no. So there\r\n>   will still be commands. Forms will compose the various required\r\n>   commands. I can amend the commit if need be.\r\n> Banu: you mean all form action belong to form\r\n>   module rather than separate module.\r\n> Jeremy: The form's submit method will call the repository\r\n>   commands to persist the things that need to be persisted…or launch\r\n>   the jobs that need to be launched.\r\n> Banu: so how do you envision non-web interaction? they still need to\r\n>   create a form object and submit\r\n> Jeremy: Yup. The concept of the form is there for validation and\r\n>   exposing only the required attributes. This is the first one.\r\n>   There are a few others that I'll step through as well.\r\n> Banu: make sense.. you removed citation commands because it was\r\n>   doing only that"},"comment":{"url":"https://api.github.com/repos/ndlib/sipity/issues/comments/70280916","html_url":"https://github.com/ndlib/sipity/pull/88#issuecomment-70280916","issue_url":"https://api.github.com/repos/ndlib/sipity/issues/88","id":70280916,"user":{"login":"coveralls","id":2354108,"avatar_url":"https://avatars.githubusercontent.com/u/2354108?v=3","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2015-01-16T16:36:38Z","updated_at":"2015-01-16T16:36:38Z","body":"\n[![Coverage Status](https://coveralls.io/builds/1755420/badge)](https://coveralls.io/builds/1755420)\n\nChanges Unknown when pulling **f88dbdb9faa72cf8b62b40cc090b140e14a31a84 on extracting-form-commands-to-relevant-form-objects** into ** on master**.\n"}}