{"action":"created","comment":{"url":"https://api.github.com/repos/houndci/hound/pulls/comments/80344204","id":80344204,"diff_hunk":"@@ -45,4 +45,46 @@\n       end\n     end\n   end\n+\n+  describe \"#remove_resolved_violations\" do\n+    it \"deletes comments for violations that are no longer present\" do\n+      existing_comments = [\n+        build_comment(id: 1, position: 4, body: 'foo bar'),\n+        build_comment(id: 2, position: 5, body: 'hello world'),\n+      ]\n+      violations = [\n+        build_violation(messages: ['foo bar'], patch_position: 4),\n+        build_violation(messages: ['bar baz'], patch_position: 5),\n+      ]\n+      pull_request = instance_double(\n+        \"PullRequest\",\n+        comments: existing_comments,\n+        delete_comment: nil,\n+      )\n+      commenter = Commenter.new(pull_request)\n+\n+      commenter.remove_resolved_violations(violations)\n+\n+      expect(pull_request).to have_received(:delete_comment).with(2)\n+    end\n+  end\n+\n+  def build_violation(attributes = {})\n+    instance_double(\n+      \"Violation\",\n+      messages: attributes.fetch(:messages),\n+      filename: 'foo.rb',","path":"spec/services/commenter_spec.rb","position":32,"original_position":32,"commit_id":"61866a986fc63a09af7a4766d6634da69412520a","original_commit_id":"61866a986fc63a09af7a4766d6634da69412520a","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.","created_at":"2016-09-23T23:35:03Z","updated_at":"2016-09-23T23:35:03Z","html_url":"https://github.com/houndci/hound/pull/1214#discussion_r80344204","pull_request_url":"https://api.github.com/repos/houndci/hound/pulls/1214","_links":{"self":{"href":"https://api.github.com/repos/houndci/hound/pulls/comments/80344204"},"html":{"href":"https://github.com/houndci/hound/pull/1214#discussion_r80344204"},"pull_request":{"href":"https://api.github.com/repos/houndci/hound/pulls/1214"}}},"pull_request":{"url":"https://api.github.com/repos/houndci/hound/pulls/1214","id":86597012,"html_url":"https://github.com/houndci/hound/pull/1214","diff_url":"https://github.com/houndci/hound/pull/1214.diff","patch_url":"https://github.com/houndci/hound/pull/1214.patch","issue_url":"https://api.github.com/repos/houndci/hound/issues/1214","number":1214,"state":"open","locked":false,"title":"Add functionality to remove resolved comments","user":{"login":"gylaz","id":116327,"avatar_url":"https://avatars.githubusercontent.com/u/116327?v=3","gravatar_id":"","url":"https://api.github.com/users/gylaz","html_url":"https://github.com/gylaz","followers_url":"https://api.github.com/users/gylaz/followers","following_url":"https://api.github.com/users/gylaz/following{/other_user}","gists_url":"https://api.github.com/users/gylaz/gists{/gist_id}","starred_url":"https://api.github.com/users/gylaz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gylaz/subscriptions","organizations_url":"https://api.github.com/users/gylaz/orgs","repos_url":"https://api.github.com/users/gylaz/repos","events_url":"https://api.github.com/users/gylaz/events{/privacy}","received_events_url":"https://api.github.com/users/gylaz/received_events","type":"User","site_admin":false},"body":"Since GitHub removed the comment collapsing feature, we need a way to\r\nclean-up comments after the underlying style violation has been\r\nresolved.","created_at":"2016-09-23T23:34:52Z","updated_at":"2016-09-23T23:35:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"634495bcc0a75894272d0ecf5bad10bbde8905f1","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/houndci/hound/pulls/1214/commits","review_comments_url":"https://api.github.com/repos/houndci/hound/pulls/1214/comments","review_comment_url":"https://api.github.com/repos/houndci/hound/pulls/comments{/number}","comments_url":"https://api.github.com/repos/houndci/hound/issues/1214/comments","statuses_url":"https://api.github.com/repos/houndci/hound/statuses/61866a986fc63a09af7a4766d6634da69412520a","head":{"label":"houndci:gl-remove-resolved-comments","ref":"gl-remove-resolved-comments","sha":"61866a986fc63a09af7a4766d6634da69412520a","user":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"repo":{"id":7411076,"name":"hound","full_name":"houndci/hound","owner":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/houndci/hound","description":"Automated review for code style","fork":false,"url":"https://api.github.com/repos/houndci/hound","forks_url":"https://api.github.com/repos/houndci/hound/forks","keys_url":"https://api.github.com/repos/houndci/hound/keys{/key_id}","collaborators_url":"https://api.github.com/repos/houndci/hound/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/houndci/hound/teams","hooks_url":"https://api.github.com/repos/houndci/hound/hooks","issue_events_url":"https://api.github.com/repos/houndci/hound/issues/events{/number}","events_url":"https://api.github.com/repos/houndci/hound/events","assignees_url":"https://api.github.com/repos/houndci/hound/assignees{/user}","branches_url":"https://api.github.com/repos/houndci/hound/branches{/branch}","tags_url":"https://api.github.com/repos/houndci/hound/tags","blobs_url":"https://api.github.com/repos/houndci/hound/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/houndci/hound/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/houndci/hound/git/refs{/sha}","trees_url":"https://api.github.com/repos/houndci/hound/git/trees{/sha}","statuses_url":"https://api.github.com/repos/houndci/hound/statuses/{sha}","languages_url":"https://api.github.com/repos/houndci/hound/languages","stargazers_url":"https://api.github.com/repos/houndci/hound/stargazers","contributors_url":"https://api.github.com/repos/houndci/hound/contributors","subscribers_url":"https://api.github.com/repos/houndci/hound/subscribers","subscription_url":"https://api.github.com/repos/houndci/hound/subscription","commits_url":"https://api.github.com/repos/houndci/hound/commits{/sha}","git_commits_url":"https://api.github.com/repos/houndci/hound/git/commits{/sha}","comments_url":"https://api.github.com/repos/houndci/hound/comments{/number}","issue_comment_url":"https://api.github.com/repos/houndci/hound/issues/comments{/number}","contents_url":"https://api.github.com/repos/houndci/hound/contents/{+path}","compare_url":"https://api.github.com/repos/houndci/hound/compare/{base}...{head}","merges_url":"https://api.github.com/repos/houndci/hound/merges","archive_url":"https://api.github.com/repos/houndci/hound/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/houndci/hound/downloads","issues_url":"https://api.github.com/repos/houndci/hound/issues{/number}","pulls_url":"https://api.github.com/repos/houndci/hound/pulls{/number}","milestones_url":"https://api.github.com/repos/houndci/hound/milestones{/number}","notifications_url":"https://api.github.com/repos/houndci/hound/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/houndci/hound/labels{/name}","releases_url":"https://api.github.com/repos/houndci/hound/releases{/id}","deployments_url":"https://api.github.com/repos/houndci/hound/deployments","created_at":"2013-01-02T18:12:40Z","updated_at":"2016-09-23T21:02:58Z","pushed_at":"2016-09-23T23:34:52Z","git_url":"git://github.com/houndci/hound.git","ssh_url":"git@github.com:houndci/hound.git","clone_url":"https://github.com/houndci/hound.git","svn_url":"https://github.com/houndci/hound","homepage":"https://houndci.com","size":62495,"stargazers_count":1328,"watchers_count":1328,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":297,"mirror_url":null,"open_issues_count":26,"forks":297,"open_issues":26,"watchers":1328,"default_branch":"master"}},"base":{"label":"houndci:master","ref":"master","sha":"9c2e480809371aad8c32ef256f1c668392ad9f7c","user":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"repo":{"id":7411076,"name":"hound","full_name":"houndci/hound","owner":{"login":"houndci","id":17184073,"avatar_url":"https://avatars.githubusercontent.com/u/17184073?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/houndci/hound","description":"Automated review for code style","fork":false,"url":"https://api.github.com/repos/houndci/hound","forks_url":"https://api.github.com/repos/houndci/hound/forks","keys_url":"https://api.github.com/repos/houndci/hound/keys{/key_id}","collaborators_url":"https://api.github.com/repos/houndci/hound/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/houndci/hound/teams","hooks_url":"https://api.github.com/repos/houndci/hound/hooks","issue_events_url":"https://api.github.com/repos/houndci/hound/issues/events{/number}","events_url":"https://api.github.com/repos/houndci/hound/events","assignees_url":"https://api.github.com/repos/houndci/hound/assignees{/user}","branches_url":"https://api.github.com/repos/houndci/hound/branches{/branch}","tags_url":"https://api.github.com/repos/houndci/hound/tags","blobs_url":"https://api.github.com/repos/houndci/hound/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/houndci/hound/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/houndci/hound/git/refs{/sha}","trees_url":"https://api.github.com/repos/houndci/hound/git/trees{/sha}","statuses_url":"https://api.github.com/repos/houndci/hound/statuses/{sha}","languages_url":"https://api.github.com/repos/houndci/hound/languages","stargazers_url":"https://api.github.com/repos/houndci/hound/stargazers","contributors_url":"https://api.github.com/repos/houndci/hound/contributors","subscribers_url":"https://api.github.com/repos/houndci/hound/subscribers","subscription_url":"https://api.github.com/repos/houndci/hound/subscription","commits_url":"https://api.github.com/repos/houndci/hound/commits{/sha}","git_commits_url":"https://api.github.com/repos/houndci/hound/git/commits{/sha}","comments_url":"https://api.github.com/repos/houndci/hound/comments{/number}","issue_comment_url":"https://api.github.com/repos/houndci/hound/issues/comments{/number}","contents_url":"https://api.github.com/repos/houndci/hound/contents/{+path}","compare_url":"https://api.github.com/repos/houndci/hound/compare/{base}...{head}","merges_url":"https://api.github.com/repos/houndci/hound/merges","archive_url":"https://api.github.com/repos/houndci/hound/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/houndci/hound/downloads","issues_url":"https://api.github.com/repos/houndci/hound/issues{/number}","pulls_url":"https://api.github.com/repos/houndci/hound/pulls{/number}","milestones_url":"https://api.github.com/repos/houndci/hound/milestones{/number}","notifications_url":"https://api.github.com/repos/houndci/hound/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/houndci/hound/labels{/name}","releases_url":"https://api.github.com/repos/houndci/hound/releases{/id}","deployments_url":"https://api.github.com/repos/houndci/hound/deployments","created_at":"2013-01-02T18:12:40Z","updated_at":"2016-09-23T21:02:58Z","pushed_at":"2016-09-23T23:34:52Z","git_url":"git://github.com/houndci/hound.git","ssh_url":"git@github.com:houndci/hound.git","clone_url":"https://github.com/houndci/hound.git","svn_url":"https://github.com/houndci/hound","homepage":"https://houndci.com","size":62495,"stargazers_count":1328,"watchers_count":1328,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":297,"mirror_url":null,"open_issues_count":26,"forks":297,"open_issues":26,"watchers":1328,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/houndci/hound/pulls/1214"},"html":{"href":"https://github.com/houndci/hound/pull/1214"},"issue":{"href":"https://api.github.com/repos/houndci/hound/issues/1214"},"comments":{"href":"https://api.github.com/repos/houndci/hound/issues/1214/comments"},"review_comments":{"href":"https://api.github.com/repos/houndci/hound/pulls/1214/comments"},"review_comment":{"href":"https://api.github.com/repos/houndci/hound/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/houndci/hound/pulls/1214/commits"},"statuses":{"href":"https://api.github.com/repos/houndci/hound/statuses/61866a986fc63a09af7a4766d6634da69412520a"}}}}
{"actor":{"display_login":"houndci-bot"}}