{"action":"created","comment":{"url":"https://api.github.com/repos/thoughtbot/griddler/pulls/comments/34220946","id":34220946,"diff_hunk":"@@ -615,6 +615,19 @@ def header_from_email(header)\n     expect(email.to).to eq [expected]\n     expect(email.from).to eq expected\n   end\n+\n+  it 'handles invalid UTF-8 characters' do\n+    email = Griddler::Email.new(\n+      text: 'hi', \n+      to: [\"\\xc0\\xc1\\xf5\\xfa\\xfe\\xff #{@full_address}\"],\n+      from: \"\\xc0\\xc1\\xf5\\xfa\\xfe\\xff #{@full_address}\")\n+    expected = @address_components.merge(\n+      full: \"ÀÁõúþÿ Bob <bob@example.com>\", ","path":"spec/griddler/email_spec.rb","position":11,"original_position":11,"commit_id":"5151b022a48927795a7527a40889a6ce49a85c67","original_commit_id":"5151b022a48927795a7527a40889a6ce49a85c67","user":{"login":"houndci","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?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":"User","site_admin":false},"body":"Prefer single-quoted strings when you don't need string interpolation or special symbols.<br>Trailing whitespace detected.","created_at":"2015-07-09T03:23:12Z","updated_at":"2015-07-09T03:23:12Z","html_url":"https://github.com/thoughtbot/griddler/pull/215#discussion_r34220946","pull_request_url":"https://api.github.com/repos/thoughtbot/griddler/pulls/215","_links":{"self":{"href":"https://api.github.com/repos/thoughtbot/griddler/pulls/comments/34220946"},"html":{"href":"https://github.com/thoughtbot/griddler/pull/215#discussion_r34220946"},"pull_request":{"href":"https://api.github.com/repos/thoughtbot/griddler/pulls/215"}}},"pull_request":{"url":"https://api.github.com/repos/thoughtbot/griddler/pulls/215","id":39544909,"html_url":"https://github.com/thoughtbot/griddler/pull/215","diff_url":"https://github.com/thoughtbot/griddler/pull/215.diff","patch_url":"https://github.com/thoughtbot/griddler/pull/215.patch","issue_url":"https://api.github.com/repos/thoughtbot/griddler/issues/215","number":215,"state":"open","locked":false,"title":"add encoding sanitization when extracting addresses","user":{"login":"dglunz","id":2965795,"avatar_url":"https://avatars.githubusercontent.com/u/2965795?v=3","gravatar_id":"","url":"https://api.github.com/users/dglunz","html_url":"https://github.com/dglunz","followers_url":"https://api.github.com/users/dglunz/followers","following_url":"https://api.github.com/users/dglunz/following{/other_user}","gists_url":"https://api.github.com/users/dglunz/gists{/gist_id}","starred_url":"https://api.github.com/users/dglunz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dglunz/subscriptions","organizations_url":"https://api.github.com/users/dglunz/orgs","repos_url":"https://api.github.com/users/dglunz/repos","events_url":"https://api.github.com/users/dglunz/events{/privacy}","received_events_url":"https://api.github.com/users/dglunz/received_events","type":"User","site_admin":false},"body":"fixes #214 ","created_at":"2015-07-09T03:23:05Z","updated_at":"2015-07-09T03:23:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"904a3d36c10f1e6bdd066c4825bd0fa08175c9bd","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/thoughtbot/griddler/pulls/215/commits","review_comments_url":"https://api.github.com/repos/thoughtbot/griddler/pulls/215/comments","review_comment_url":"https://api.github.com/repos/thoughtbot/griddler/pulls/comments{/number}","comments_url":"https://api.github.com/repos/thoughtbot/griddler/issues/215/comments","statuses_url":"https://api.github.com/repos/thoughtbot/griddler/statuses/5151b022a48927795a7527a40889a6ce49a85c67","head":{"label":"dglunz:master","ref":"master","sha":"5151b022a48927795a7527a40889a6ce49a85c67","user":{"login":"dglunz","id":2965795,"avatar_url":"https://avatars.githubusercontent.com/u/2965795?v=3","gravatar_id":"","url":"https://api.github.com/users/dglunz","html_url":"https://github.com/dglunz","followers_url":"https://api.github.com/users/dglunz/followers","following_url":"https://api.github.com/users/dglunz/following{/other_user}","gists_url":"https://api.github.com/users/dglunz/gists{/gist_id}","starred_url":"https://api.github.com/users/dglunz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dglunz/subscriptions","organizations_url":"https://api.github.com/users/dglunz/orgs","repos_url":"https://api.github.com/users/dglunz/repos","events_url":"https://api.github.com/users/dglunz/events{/privacy}","received_events_url":"https://api.github.com/users/dglunz/received_events","type":"User","site_admin":false},"repo":{"id":38786215,"name":"griddler","full_name":"dglunz/griddler","owner":{"login":"dglunz","id":2965795,"avatar_url":"https://avatars.githubusercontent.com/u/2965795?v=3","gravatar_id":"","url":"https://api.github.com/users/dglunz","html_url":"https://github.com/dglunz","followers_url":"https://api.github.com/users/dglunz/followers","following_url":"https://api.github.com/users/dglunz/following{/other_user}","gists_url":"https://api.github.com/users/dglunz/gists{/gist_id}","starred_url":"https://api.github.com/users/dglunz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dglunz/subscriptions","organizations_url":"https://api.github.com/users/dglunz/orgs","repos_url":"https://api.github.com/users/dglunz/repos","events_url":"https://api.github.com/users/dglunz/events{/privacy}","received_events_url":"https://api.github.com/users/dglunz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dglunz/griddler","description":"Simplify receiving email in Rails","fork":true,"url":"https://api.github.com/repos/dglunz/griddler","forks_url":"https://api.github.com/repos/dglunz/griddler/forks","keys_url":"https://api.github.com/repos/dglunz/griddler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dglunz/griddler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dglunz/griddler/teams","hooks_url":"https://api.github.com/repos/dglunz/griddler/hooks","issue_events_url":"https://api.github.com/repos/dglunz/griddler/issues/events{/number}","events_url":"https://api.github.com/repos/dglunz/griddler/events","assignees_url":"https://api.github.com/repos/dglunz/griddler/assignees{/user}","branches_url":"https://api.github.com/repos/dglunz/griddler/branches{/branch}","tags_url":"https://api.github.com/repos/dglunz/griddler/tags","blobs_url":"https://api.github.com/repos/dglunz/griddler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dglunz/griddler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dglunz/griddler/git/refs{/sha}","trees_url":"https://api.github.com/repos/dglunz/griddler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dglunz/griddler/statuses/{sha}","languages_url":"https://api.github.com/repos/dglunz/griddler/languages","stargazers_url":"https://api.github.com/repos/dglunz/griddler/stargazers","contributors_url":"https://api.github.com/repos/dglunz/griddler/contributors","subscribers_url":"https://api.github.com/repos/dglunz/griddler/subscribers","subscription_url":"https://api.github.com/repos/dglunz/griddler/subscription","commits_url":"https://api.github.com/repos/dglunz/griddler/commits{/sha}","git_commits_url":"https://api.github.com/repos/dglunz/griddler/git/commits{/sha}","comments_url":"https://api.github.com/repos/dglunz/griddler/comments{/number}","issue_comment_url":"https://api.github.com/repos/dglunz/griddler/issues/comments{/number}","contents_url":"https://api.github.com/repos/dglunz/griddler/contents/{+path}","compare_url":"https://api.github.com/repos/dglunz/griddler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dglunz/griddler/merges","archive_url":"https://api.github.com/repos/dglunz/griddler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dglunz/griddler/downloads","issues_url":"https://api.github.com/repos/dglunz/griddler/issues{/number}","pulls_url":"https://api.github.com/repos/dglunz/griddler/pulls{/number}","milestones_url":"https://api.github.com/repos/dglunz/griddler/milestones{/number}","notifications_url":"https://api.github.com/repos/dglunz/griddler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dglunz/griddler/labels{/name}","releases_url":"https://api.github.com/repos/dglunz/griddler/releases{/id}","created_at":"2015-07-08T23:53:16Z","updated_at":"2015-07-08T23:53:17Z","pushed_at":"2015-07-09T03:21:47Z","git_url":"git://github.com/dglunz/griddler.git","ssh_url":"git@github.com:dglunz/griddler.git","clone_url":"https://github.com/dglunz/griddler.git","svn_url":"https://github.com/dglunz/griddler","homepage":"http://griddler.io/","size":1958,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"thoughtbot:master","ref":"master","sha":"475df71d24f65c3f901099425850c96780095172","user":{"login":"thoughtbot","id":6183,"avatar_url":"https://avatars.githubusercontent.com/u/6183?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtbot","html_url":"https://github.com/thoughtbot","followers_url":"https://api.github.com/users/thoughtbot/followers","following_url":"https://api.github.com/users/thoughtbot/following{/other_user}","gists_url":"https://api.github.com/users/thoughtbot/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtbot/subscriptions","organizations_url":"https://api.github.com/users/thoughtbot/orgs","repos_url":"https://api.github.com/users/thoughtbot/repos","events_url":"https://api.github.com/users/thoughtbot/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtbot/received_events","type":"Organization","site_admin":false},"repo":{"id":6405017,"name":"griddler","full_name":"thoughtbot/griddler","owner":{"login":"thoughtbot","id":6183,"avatar_url":"https://avatars.githubusercontent.com/u/6183?v=3","gravatar_id":"","url":"https://api.github.com/users/thoughtbot","html_url":"https://github.com/thoughtbot","followers_url":"https://api.github.com/users/thoughtbot/followers","following_url":"https://api.github.com/users/thoughtbot/following{/other_user}","gists_url":"https://api.github.com/users/thoughtbot/gists{/gist_id}","starred_url":"https://api.github.com/users/thoughtbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thoughtbot/subscriptions","organizations_url":"https://api.github.com/users/thoughtbot/orgs","repos_url":"https://api.github.com/users/thoughtbot/repos","events_url":"https://api.github.com/users/thoughtbot/events{/privacy}","received_events_url":"https://api.github.com/users/thoughtbot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/thoughtbot/griddler","description":"Simplify receiving email in Rails","fork":false,"url":"https://api.github.com/repos/thoughtbot/griddler","forks_url":"https://api.github.com/repos/thoughtbot/griddler/forks","keys_url":"https://api.github.com/repos/thoughtbot/griddler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thoughtbot/griddler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thoughtbot/griddler/teams","hooks_url":"https://api.github.com/repos/thoughtbot/griddler/hooks","issue_events_url":"https://api.github.com/repos/thoughtbot/griddler/issues/events{/number}","events_url":"https://api.github.com/repos/thoughtbot/griddler/events","assignees_url":"https://api.github.com/repos/thoughtbot/griddler/assignees{/user}","branches_url":"https://api.github.com/repos/thoughtbot/griddler/branches{/branch}","tags_url":"https://api.github.com/repos/thoughtbot/griddler/tags","blobs_url":"https://api.github.com/repos/thoughtbot/griddler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thoughtbot/griddler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thoughtbot/griddler/git/refs{/sha}","trees_url":"https://api.github.com/repos/thoughtbot/griddler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thoughtbot/griddler/statuses/{sha}","languages_url":"https://api.github.com/repos/thoughtbot/griddler/languages","stargazers_url":"https://api.github.com/repos/thoughtbot/griddler/stargazers","contributors_url":"https://api.github.com/repos/thoughtbot/griddler/contributors","subscribers_url":"https://api.github.com/repos/thoughtbot/griddler/subscribers","subscription_url":"https://api.github.com/repos/thoughtbot/griddler/subscription","commits_url":"https://api.github.com/repos/thoughtbot/griddler/commits{/sha}","git_commits_url":"https://api.github.com/repos/thoughtbot/griddler/git/commits{/sha}","comments_url":"https://api.github.com/repos/thoughtbot/griddler/comments{/number}","issue_comment_url":"https://api.github.com/repos/thoughtbot/griddler/issues/comments{/number}","contents_url":"https://api.github.com/repos/thoughtbot/griddler/contents/{+path}","compare_url":"https://api.github.com/repos/thoughtbot/griddler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thoughtbot/griddler/merges","archive_url":"https://api.github.com/repos/thoughtbot/griddler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thoughtbot/griddler/downloads","issues_url":"https://api.github.com/repos/thoughtbot/griddler/issues{/number}","pulls_url":"https://api.github.com/repos/thoughtbot/griddler/pulls{/number}","milestones_url":"https://api.github.com/repos/thoughtbot/griddler/milestones{/number}","notifications_url":"https://api.github.com/repos/thoughtbot/griddler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thoughtbot/griddler/labels{/name}","releases_url":"https://api.github.com/repos/thoughtbot/griddler/releases{/id}","created_at":"2012-10-26T14:27:49Z","updated_at":"2015-07-07T04:29:26Z","pushed_at":"2015-07-09T03:23:06Z","git_url":"git://github.com/thoughtbot/griddler.git","ssh_url":"git@github.com:thoughtbot/griddler.git","clone_url":"https://github.com/thoughtbot/griddler.git","svn_url":"https://github.com/thoughtbot/griddler","homepage":"http://griddler.io/","size":1958,"stargazers_count":812,"watchers_count":812,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":108,"mirror_url":null,"open_issues_count":8,"forks":108,"open_issues":8,"watchers":812,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/thoughtbot/griddler/pulls/215"},"html":{"href":"https://github.com/thoughtbot/griddler/pull/215"},"issue":{"href":"https://api.github.com/repos/thoughtbot/griddler/issues/215"},"comments":{"href":"https://api.github.com/repos/thoughtbot/griddler/issues/215/comments"},"review_comments":{"href":"https://api.github.com/repos/thoughtbot/griddler/pulls/215/comments"},"review_comment":{"href":"https://api.github.com/repos/thoughtbot/griddler/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/thoughtbot/griddler/pulls/215/commits"},"statuses":{"href":"https://api.github.com/repos/thoughtbot/griddler/statuses/5151b022a48927795a7527a40889a6ce49a85c67"}}}}