{"action":"created","issue":{"url":"https://api.github.com/repos/cubadomingo/words_and_moves/issues/115","repository_url":"https://api.github.com/repos/cubadomingo/words_and_moves","labels_url":"https://api.github.com/repos/cubadomingo/words_and_moves/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/cubadomingo/words_and_moves/issues/115/comments","events_url":"https://api.github.com/repos/cubadomingo/words_and_moves/issues/115/events","html_url":"https://github.com/cubadomingo/words_and_moves/pull/115","id":171814996,"number":115,"title":"Completing comments","user":{"login":"tmobaird","id":7366444,"avatar_url":"https://avatars.githubusercontent.com/u/7366444?v=3","gravatar_id":"","url":"https://api.github.com/users/tmobaird","html_url":"https://github.com/tmobaird","followers_url":"https://api.github.com/users/tmobaird/followers","following_url":"https://api.github.com/users/tmobaird/following{/other_user}","gists_url":"https://api.github.com/users/tmobaird/gists{/gist_id}","starred_url":"https://api.github.com/users/tmobaird/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmobaird/subscriptions","organizations_url":"https://api.github.com/users/tmobaird/orgs","repos_url":"https://api.github.com/users/tmobaird/repos","events_url":"https://api.github.com/users/tmobaird/events{/privacy}","received_events_url":"https://api.github.com/users/tmobaird/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"cubadomingo","id":15992549,"avatar_url":"https://avatars.githubusercontent.com/u/15992549?v=3","gravatar_id":"","url":"https://api.github.com/users/cubadomingo","html_url":"https://github.com/cubadomingo","followers_url":"https://api.github.com/users/cubadomingo/followers","following_url":"https://api.github.com/users/cubadomingo/following{/other_user}","gists_url":"https://api.github.com/users/cubadomingo/gists{/gist_id}","starred_url":"https://api.github.com/users/cubadomingo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cubadomingo/subscriptions","organizations_url":"https://api.github.com/users/cubadomingo/orgs","repos_url":"https://api.github.com/users/cubadomingo/repos","events_url":"https://api.github.com/users/cubadomingo/events{/privacy}","received_events_url":"https://api.github.com/users/cubadomingo/received_events","type":"User","site_admin":false},"assignees":[{"login":"cubadomingo","id":15992549,"avatar_url":"https://avatars.githubusercontent.com/u/15992549?v=3","gravatar_id":"","url":"https://api.github.com/users/cubadomingo","html_url":"https://github.com/cubadomingo","followers_url":"https://api.github.com/users/cubadomingo/followers","following_url":"https://api.github.com/users/cubadomingo/following{/other_user}","gists_url":"https://api.github.com/users/cubadomingo/gists{/gist_id}","starred_url":"https://api.github.com/users/cubadomingo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cubadomingo/subscriptions","organizations_url":"https://api.github.com/users/cubadomingo/orgs","repos_url":"https://api.github.com/users/cubadomingo/repos","events_url":"https://api.github.com/users/cubadomingo/events{/privacy}","received_events_url":"https://api.github.com/users/cubadomingo/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-08-18T04:22:46Z","updated_at":"2016-08-18T04:26:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cubadomingo/words_and_moves/pulls/115","html_url":"https://github.com/cubadomingo/words_and_moves/pull/115","diff_url":"https://github.com/cubadomingo/words_and_moves/pull/115.diff","patch_url":"https://github.com/cubadomingo/words_and_moves/pull/115.patch"},"body":"Firstly, I'm gonna give a heads up that this is a HUGE pr. \r\n\r\n![image](https://cloud.githubusercontent.com/assets/7366444/17761714/80e768b0-64d7-11e6-83c5-d454acbcc872.png)\r\n\r\n... it really is. So bare with me when reviewing this.\r\n\r\nThis is the v. 1.0 version of our commenting components via react. I set up a bunch of api actions that simply render json in the controller to do various different things (retrieve comments for post/event, retrieve username for user id). The react strategy essentially works like this. We have a CommentBox: \r\n![image](https://cloud.githubusercontent.com/assets/7366444/17761760/f1bb3a80-64d7-11e6-8e82-77f20d491e82.png)\r\n\r\nThis CommentBox has everything related to the comments inside of it. Mainly it has a CommentForm and a CommentList inside of it. The CommentForm will render what is the form for adding a new comment. And a CommentList which is made up of rendering x number of Comments based upon the array of comments that it receives from the CommentBox. The CommentBox is where the majority of the magic happens. The CommentBox queries our api every 2 seconds to receive the comments for an individual post/event. This allows this list to be almost real-time, which is nice. The CommentBox also includes a DismissableAlert, that is displayed when some action is performed (success alert when successful posting, danger alert when failure posting comment). This is basically the gist of everything. We should at some point update the actual styles of these elements. This should be fairly straightforward to do as we will just modify the classes and IDs that these elements have in the component's render statements. We'll figure that out later though.\r\n\r\nOn top of that, I also added a poltergeist to help test these react components from the end user's stand point. It's actually really nice, this allows us to run our specs (including any js tagged specs) headlessly. The only other thing required for this is to brew install phantomJS locally. The command for that is this: `brew install phantomjs`. And that's it! It should be good to go, but try running your specs just in case. On top of that, Travis comes with phantomJS installed, meaning we don't need to install it on Travis, yay! 🎉 🎉. \r\n\r\nThat's about it though, this PR includes a lot of stuff, and I'm sure we'll be improving this over the coming weeks. I've done my best to document the React code so it is fairly easy to read, but feel free to let me know if you need me to explain anything. Also if you see any bugs in the front end with this comment stuff, definitely create an issue so we can get those kinks worked out (I'm sure there will be some). \r\n\r\nOther than that, that's all I have. This branch is currently rebased with master and all specs are passing locally for me. Holla 😎 ✌️ \r\n\r\n"},"comment":{"url":"https://api.github.com/repos/cubadomingo/words_and_moves/issues/comments/240620784","html_url":"https://github.com/cubadomingo/words_and_moves/pull/115#issuecomment-240620784","issue_url":"https://api.github.com/repos/cubadomingo/words_and_moves/issues/115","id":240620784,"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":"2016-08-18T04:26:23Z","updated_at":"2016-08-18T04:26:23Z","body":"\n[![Coverage Status](https://coveralls.io/builds/7500074/badge)](https://coveralls.io/builds/7500074)\n\nChanges Unknown when pulling **e8b184d8763a58807dc2bdba436b3be51f4c3aec on completing-comments** into ** on master**.\n"}}
{"actor":{"display_login":"coveralls"}}