{"action":"created","comment":{"url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/comments/61795160","id":61795160,"diff_hunk":"@@ -38,6 +38,23 @@ def edit\n   end\n \n   def update\n+    # This @non_tags variable is somewhat confusing for me, partially because\n+    # it's a variable named in the negative ('non_tags'), but also because it's\n+    # tied into your ability model as an instance variable, which increases the\n+    # implicit coupling between your controller and views (by that I mean you\n+    # have to rememeber to set this variable as true or false in every action\n+    # that renders a view that uses can? :update @bra)\n+\n+    # Additonally, I'm fairly certain there's a permissions bug here that would\n+    # allow any user to update a bra they didn't create by injecting values\n+    # into params for this action. This is a subtle bug, but in short, I'd\n+    # suggest creating another action just for adding tags, and moving the\n+    # logic for creating tags into that controller action. I don't often\n+    # advocate for that, but in this case, you can handle authorization for\n+    # bra#update and tag#create completely independently. And the\n+    # tags_controller#create action can be more limited than this update action,\n+    # which allows updating of any bra attribute due to the un-limited\n+    # `@bra.update(bra_params)` line below.","path":"app/controllers/bras_controller.rb","position":20,"original_position":20,"commit_id":"40ad5c4e92285296d3fa7b35424fd4e61cbade15","original_commit_id":"40ad5c4e92285296d3fa7b35424fd4e61cbade15","user":{"login":"marygriffus","id":17263295,"avatar_url":"https://avatars.githubusercontent.com/u/17263295?v=3","gravatar_id":"","url":"https://api.github.com/users/marygriffus","html_url":"https://github.com/marygriffus","followers_url":"https://api.github.com/users/marygriffus/followers","following_url":"https://api.github.com/users/marygriffus/following{/other_user}","gists_url":"https://api.github.com/users/marygriffus/gists{/gist_id}","starred_url":"https://api.github.com/users/marygriffus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marygriffus/subscriptions","organizations_url":"https://api.github.com/users/marygriffus/orgs","repos_url":"https://api.github.com/users/marygriffus/repos","events_url":"https://api.github.com/users/marygriffus/events{/privacy}","received_events_url":"https://api.github.com/users/marygriffus/received_events","type":"User","site_admin":false},"body":"Good tip. This was the most challenging part for me, and it was also the last thing I added. If I do decide to take the project further I will definitely fix it!","created_at":"2016-05-02T20:07:10Z","updated_at":"2016-05-02T20:07:10Z","html_url":"https://github.com/marygriffus/cups_of_data/pull/1#discussion_r61795160","pull_request_url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/comments/61795160"},"html":{"href":"https://github.com/marygriffus/cups_of_data/pull/1#discussion_r61795160"},"pull_request":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1","id":68607019,"html_url":"https://github.com/marygriffus/cups_of_data/pull/1","diff_url":"https://github.com/marygriffus/cups_of_data/pull/1.diff","patch_url":"https://github.com/marygriffus/cups_of_data/pull/1.patch","issue_url":"https://api.github.com/repos/marygriffus/cups_of_data/issues/1","number":1,"state":"open","locked":false,"title":"Feedback on Project 2","user":{"login":"adambray","id":75565,"avatar_url":"https://avatars.githubusercontent.com/u/75565?v=3","gravatar_id":"","url":"https://api.github.com/users/adambray","html_url":"https://github.com/adambray","followers_url":"https://api.github.com/users/adambray/followers","following_url":"https://api.github.com/users/adambray/following{/other_user}","gists_url":"https://api.github.com/users/adambray/gists{/gist_id}","starred_url":"https://api.github.com/users/adambray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambray/subscriptions","organizations_url":"https://api.github.com/users/adambray/orgs","repos_url":"https://api.github.com/users/adambray/repos","events_url":"https://api.github.com/users/adambray/events{/privacy}","received_events_url":"https://api.github.com/users/adambray/received_events","type":"User","site_admin":false},"body":"Hi Mary!\r\n\r\nOverall, I'm really impressed with this project! Please see my inline comments, as well as the feedback.md file in this PR for full feedback.\r\n\r\n-Adam","created_at":"2016-05-02T19:22:11Z","updated_at":"2016-05-02T20:07:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"df7d9fb8bb01d3c496fc40256ba39c5ead2839e7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1/commits","review_comments_url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1/comments","review_comment_url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/comments{/number}","comments_url":"https://api.github.com/repos/marygriffus/cups_of_data/issues/1/comments","statuses_url":"https://api.github.com/repos/marygriffus/cups_of_data/statuses/40ad5c4e92285296d3fa7b35424fd4e61cbade15","head":{"label":"adambray:feedback","ref":"feedback","sha":"40ad5c4e92285296d3fa7b35424fd4e61cbade15","user":{"login":"adambray","id":75565,"avatar_url":"https://avatars.githubusercontent.com/u/75565?v=3","gravatar_id":"","url":"https://api.github.com/users/adambray","html_url":"https://github.com/adambray","followers_url":"https://api.github.com/users/adambray/followers","following_url":"https://api.github.com/users/adambray/following{/other_user}","gists_url":"https://api.github.com/users/adambray/gists{/gist_id}","starred_url":"https://api.github.com/users/adambray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambray/subscriptions","organizations_url":"https://api.github.com/users/adambray/orgs","repos_url":"https://api.github.com/users/adambray/repos","events_url":"https://api.github.com/users/adambray/events{/privacy}","received_events_url":"https://api.github.com/users/adambray/received_events","type":"User","site_admin":false},"repo":{"id":57911486,"name":"cups_of_data","full_name":"adambray/cups_of_data","owner":{"login":"adambray","id":75565,"avatar_url":"https://avatars.githubusercontent.com/u/75565?v=3","gravatar_id":"","url":"https://api.github.com/users/adambray","html_url":"https://github.com/adambray","followers_url":"https://api.github.com/users/adambray/followers","following_url":"https://api.github.com/users/adambray/following{/other_user}","gists_url":"https://api.github.com/users/adambray/gists{/gist_id}","starred_url":"https://api.github.com/users/adambray/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambray/subscriptions","organizations_url":"https://api.github.com/users/adambray/orgs","repos_url":"https://api.github.com/users/adambray/repos","events_url":"https://api.github.com/users/adambray/events{/privacy}","received_events_url":"https://api.github.com/users/adambray/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adambray/cups_of_data","description":"","fork":true,"url":"https://api.github.com/repos/adambray/cups_of_data","forks_url":"https://api.github.com/repos/adambray/cups_of_data/forks","keys_url":"https://api.github.com/repos/adambray/cups_of_data/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adambray/cups_of_data/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adambray/cups_of_data/teams","hooks_url":"https://api.github.com/repos/adambray/cups_of_data/hooks","issue_events_url":"https://api.github.com/repos/adambray/cups_of_data/issues/events{/number}","events_url":"https://api.github.com/repos/adambray/cups_of_data/events","assignees_url":"https://api.github.com/repos/adambray/cups_of_data/assignees{/user}","branches_url":"https://api.github.com/repos/adambray/cups_of_data/branches{/branch}","tags_url":"https://api.github.com/repos/adambray/cups_of_data/tags","blobs_url":"https://api.github.com/repos/adambray/cups_of_data/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adambray/cups_of_data/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adambray/cups_of_data/git/refs{/sha}","trees_url":"https://api.github.com/repos/adambray/cups_of_data/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adambray/cups_of_data/statuses/{sha}","languages_url":"https://api.github.com/repos/adambray/cups_of_data/languages","stargazers_url":"https://api.github.com/repos/adambray/cups_of_data/stargazers","contributors_url":"https://api.github.com/repos/adambray/cups_of_data/contributors","subscribers_url":"https://api.github.com/repos/adambray/cups_of_data/subscribers","subscription_url":"https://api.github.com/repos/adambray/cups_of_data/subscription","commits_url":"https://api.github.com/repos/adambray/cups_of_data/commits{/sha}","git_commits_url":"https://api.github.com/repos/adambray/cups_of_data/git/commits{/sha}","comments_url":"https://api.github.com/repos/adambray/cups_of_data/comments{/number}","issue_comment_url":"https://api.github.com/repos/adambray/cups_of_data/issues/comments{/number}","contents_url":"https://api.github.com/repos/adambray/cups_of_data/contents/{+path}","compare_url":"https://api.github.com/repos/adambray/cups_of_data/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adambray/cups_of_data/merges","archive_url":"https://api.github.com/repos/adambray/cups_of_data/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adambray/cups_of_data/downloads","issues_url":"https://api.github.com/repos/adambray/cups_of_data/issues{/number}","pulls_url":"https://api.github.com/repos/adambray/cups_of_data/pulls{/number}","milestones_url":"https://api.github.com/repos/adambray/cups_of_data/milestones{/number}","notifications_url":"https://api.github.com/repos/adambray/cups_of_data/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adambray/cups_of_data/labels{/name}","releases_url":"https://api.github.com/repos/adambray/cups_of_data/releases{/id}","deployments_url":"https://api.github.com/repos/adambray/cups_of_data/deployments","created_at":"2016-05-02T18:29:50Z","updated_at":"2016-05-02T18:29:51Z","pushed_at":"2016-05-02T19:21:15Z","git_url":"git://github.com/adambray/cups_of_data.git","ssh_url":"git@github.com:adambray/cups_of_data.git","clone_url":"https://github.com/adambray/cups_of_data.git","svn_url":"https://github.com/adambray/cups_of_data","homepage":null,"size":2882,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"marygriffus:master","ref":"master","sha":"6704ad3f37e6d72053501fc54c6f36c29db32dd9","user":{"login":"marygriffus","id":17263295,"avatar_url":"https://avatars.githubusercontent.com/u/17263295?v=3","gravatar_id":"","url":"https://api.github.com/users/marygriffus","html_url":"https://github.com/marygriffus","followers_url":"https://api.github.com/users/marygriffus/followers","following_url":"https://api.github.com/users/marygriffus/following{/other_user}","gists_url":"https://api.github.com/users/marygriffus/gists{/gist_id}","starred_url":"https://api.github.com/users/marygriffus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marygriffus/subscriptions","organizations_url":"https://api.github.com/users/marygriffus/orgs","repos_url":"https://api.github.com/users/marygriffus/repos","events_url":"https://api.github.com/users/marygriffus/events{/privacy}","received_events_url":"https://api.github.com/users/marygriffus/received_events","type":"User","site_admin":false},"repo":{"id":56984085,"name":"cups_of_data","full_name":"marygriffus/cups_of_data","owner":{"login":"marygriffus","id":17263295,"avatar_url":"https://avatars.githubusercontent.com/u/17263295?v=3","gravatar_id":"","url":"https://api.github.com/users/marygriffus","html_url":"https://github.com/marygriffus","followers_url":"https://api.github.com/users/marygriffus/followers","following_url":"https://api.github.com/users/marygriffus/following{/other_user}","gists_url":"https://api.github.com/users/marygriffus/gists{/gist_id}","starred_url":"https://api.github.com/users/marygriffus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marygriffus/subscriptions","organizations_url":"https://api.github.com/users/marygriffus/orgs","repos_url":"https://api.github.com/users/marygriffus/repos","events_url":"https://api.github.com/users/marygriffus/events{/privacy}","received_events_url":"https://api.github.com/users/marygriffus/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/marygriffus/cups_of_data","description":"","fork":false,"url":"https://api.github.com/repos/marygriffus/cups_of_data","forks_url":"https://api.github.com/repos/marygriffus/cups_of_data/forks","keys_url":"https://api.github.com/repos/marygriffus/cups_of_data/keys{/key_id}","collaborators_url":"https://api.github.com/repos/marygriffus/cups_of_data/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/marygriffus/cups_of_data/teams","hooks_url":"https://api.github.com/repos/marygriffus/cups_of_data/hooks","issue_events_url":"https://api.github.com/repos/marygriffus/cups_of_data/issues/events{/number}","events_url":"https://api.github.com/repos/marygriffus/cups_of_data/events","assignees_url":"https://api.github.com/repos/marygriffus/cups_of_data/assignees{/user}","branches_url":"https://api.github.com/repos/marygriffus/cups_of_data/branches{/branch}","tags_url":"https://api.github.com/repos/marygriffus/cups_of_data/tags","blobs_url":"https://api.github.com/repos/marygriffus/cups_of_data/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/marygriffus/cups_of_data/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/marygriffus/cups_of_data/git/refs{/sha}","trees_url":"https://api.github.com/repos/marygriffus/cups_of_data/git/trees{/sha}","statuses_url":"https://api.github.com/repos/marygriffus/cups_of_data/statuses/{sha}","languages_url":"https://api.github.com/repos/marygriffus/cups_of_data/languages","stargazers_url":"https://api.github.com/repos/marygriffus/cups_of_data/stargazers","contributors_url":"https://api.github.com/repos/marygriffus/cups_of_data/contributors","subscribers_url":"https://api.github.com/repos/marygriffus/cups_of_data/subscribers","subscription_url":"https://api.github.com/repos/marygriffus/cups_of_data/subscription","commits_url":"https://api.github.com/repos/marygriffus/cups_of_data/commits{/sha}","git_commits_url":"https://api.github.com/repos/marygriffus/cups_of_data/git/commits{/sha}","comments_url":"https://api.github.com/repos/marygriffus/cups_of_data/comments{/number}","issue_comment_url":"https://api.github.com/repos/marygriffus/cups_of_data/issues/comments{/number}","contents_url":"https://api.github.com/repos/marygriffus/cups_of_data/contents/{+path}","compare_url":"https://api.github.com/repos/marygriffus/cups_of_data/compare/{base}...{head}","merges_url":"https://api.github.com/repos/marygriffus/cups_of_data/merges","archive_url":"https://api.github.com/repos/marygriffus/cups_of_data/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/marygriffus/cups_of_data/downloads","issues_url":"https://api.github.com/repos/marygriffus/cups_of_data/issues{/number}","pulls_url":"https://api.github.com/repos/marygriffus/cups_of_data/pulls{/number}","milestones_url":"https://api.github.com/repos/marygriffus/cups_of_data/milestones{/number}","notifications_url":"https://api.github.com/repos/marygriffus/cups_of_data/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/marygriffus/cups_of_data/labels{/name}","releases_url":"https://api.github.com/repos/marygriffus/cups_of_data/releases{/id}","deployments_url":"https://api.github.com/repos/marygriffus/cups_of_data/deployments","created_at":"2016-04-24T17:13:46Z","updated_at":"2016-04-24T17:15:02Z","pushed_at":"2016-05-02T19:22:11Z","git_url":"git://github.com/marygriffus/cups_of_data.git","ssh_url":"git@github.com:marygriffus/cups_of_data.git","clone_url":"https://github.com/marygriffus/cups_of_data.git","svn_url":"https://github.com/marygriffus/cups_of_data","homepage":null,"size":2890,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1"},"html":{"href":"https://github.com/marygriffus/cups_of_data/pull/1"},"issue":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/issues/1"},"comments":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/marygriffus/cups_of_data/statuses/40ad5c4e92285296d3fa7b35424fd4e61cbade15"}}}}