{"action":"closed","issue":{"url":"https://api.github.com/repos/MikeTayC/apprentice.dev/issues/1","labels_url":"https://api.github.com/repos/MikeTayC/apprentice.dev/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/MikeTayC/apprentice.dev/issues/1/comments","events_url":"https://api.github.com/repos/MikeTayC/apprentice.dev/issues/1/events","html_url":"https://github.com/MikeTayC/apprentice.dev/issues/1","id":101318620,"number":1,"title":"Decouple user model into separate classes","user":{"login":"SamTay","id":7246591,"avatar_url":"https://avatars.githubusercontent.com/u/7246591?v=3","gravatar_id":"","url":"https://api.github.com/users/SamTay","html_url":"https://github.com/SamTay","followers_url":"https://api.github.com/users/SamTay/followers","following_url":"https://api.github.com/users/SamTay/following{/other_user}","gists_url":"https://api.github.com/users/SamTay/gists{/gist_id}","starred_url":"https://api.github.com/users/SamTay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SamTay/subscriptions","organizations_url":"https://api.github.com/users/SamTay/orgs","repos_url":"https://api.github.com/users/SamTay/repos","events_url":"https://api.github.com/users/SamTay/events{/privacy}","received_events_url":"https://api.github.com/users/SamTay/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/MikeTayC/apprentice.dev/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"MikeTayC","id":10719536,"avatar_url":"https://avatars.githubusercontent.com/u/10719536?v=3","gravatar_id":"","url":"https://api.github.com/users/MikeTayC","html_url":"https://github.com/MikeTayC","followers_url":"https://api.github.com/users/MikeTayC/followers","following_url":"https://api.github.com/users/MikeTayC/following{/other_user}","gists_url":"https://api.github.com/users/MikeTayC/gists{/gist_id}","starred_url":"https://api.github.com/users/MikeTayC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikeTayC/subscriptions","organizations_url":"https://api.github.com/users/MikeTayC/orgs","repos_url":"https://api.github.com/users/MikeTayC/repos","events_url":"https://api.github.com/users/MikeTayC/events{/privacy}","received_events_url":"https://api.github.com/users/MikeTayC/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-08-17T01:51:09Z","updated_at":"2015-08-19T02:01:52Z","closed_at":"2015-08-19T02:01:52Z","body":"As discussed, methods that don't have to do with any specific model should get moved into a ``Core_Model_Abstract`` class, which extends ``Core_Model_Object``. For example, \r\n\r\n``App_Model_User::getCount()``  :arrow_forward:   ``Core_Model_Abstract::getCount()``\r\n\r\nSimilarly, methods that have nothing to do with user but only other tables, should be moved into their own model class. For example,\r\n\r\n``App_Model_User::getAllTagsFromTagTable()``  :arrow_forward:   ``App_Model_Tag::getAll()``\r\n\r\n``App_Model_User::getAllLessonNames()`` :arrow_forward:   ``App_Model_Lesson::getAllNames()``"}}