{"action":"opened","number":5,"pull_request":{"url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/5","id":28620832,"html_url":"https://github.com/shutterstock/WebService-Shutterstock/pull/5","diff_url":"https://github.com/shutterstock/WebService-Shutterstock/pull/5.diff","patch_url":"https://github.com/shutterstock/WebService-Shutterstock/pull/5.patch","issue_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues/5","number":5,"state":"open","locked":false,"title":"declare all attributes before modifying constructor","user":{"login":"haarg","id":50029,"avatar_url":"https://avatars.githubusercontent.com/u/50029?v=3","gravatar_id":"","url":"https://api.github.com/users/haarg","html_url":"https://github.com/haarg","followers_url":"https://api.github.com/users/haarg/followers","following_url":"https://api.github.com/users/haarg/following{/other_user}","gists_url":"https://api.github.com/users/haarg/gists{/gist_id}","starred_url":"https://api.github.com/users/haarg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haarg/subscriptions","organizations_url":"https://api.github.com/users/haarg/orgs","repos_url":"https://api.github.com/users/haarg/repos","events_url":"https://api.github.com/users/haarg/events{/privacy}","received_events_url":"https://api.github.com/users/haarg/received_events","type":"User","site_admin":false},"body":"Moo does not generally support wrapping its constructor, but it will\r\nwork in some cases.  Future versions of Moo will detect the problematic\r\ncases, such as attributes being defined after the constructor has been\r\nreplaced.  Avoid this by declaring the attributes first.\r\n\r\nIn general, the deferred mechanism seems odd.  It seems to be wrapping the constructor to apply defaults, but that could just as easily be done by applying actual defaults to the attributes.  If the attributes need to be initialized on object creation but after other attributes, that can be done by making them lazy and calling their accessors in a BUILD sub.  That would be a better supported mechanism, and should still be possible to set up using a `deferred()` call like this code uses if that was desired.","created_at":"2015-02-04T08:32:04Z","updated_at":"2015-02-04T08:32:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"081c0579c6bc641d20cb1e4f5641d0c394333e58","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/5/commits","review_comments_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/5/comments","review_comment_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/comments/{number}","comments_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues/5/comments","statuses_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/statuses/4b2c052575ea748b83f136bd579c4e20670f33ee","head":{"label":"haarg:no-attr-after-mod","ref":"no-attr-after-mod","sha":"4b2c052575ea748b83f136bd579c4e20670f33ee","user":{"login":"haarg","id":50029,"avatar_url":"https://avatars.githubusercontent.com/u/50029?v=3","gravatar_id":"","url":"https://api.github.com/users/haarg","html_url":"https://github.com/haarg","followers_url":"https://api.github.com/users/haarg/followers","following_url":"https://api.github.com/users/haarg/following{/other_user}","gists_url":"https://api.github.com/users/haarg/gists{/gist_id}","starred_url":"https://api.github.com/users/haarg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haarg/subscriptions","organizations_url":"https://api.github.com/users/haarg/orgs","repos_url":"https://api.github.com/users/haarg/repos","events_url":"https://api.github.com/users/haarg/events{/privacy}","received_events_url":"https://api.github.com/users/haarg/received_events","type":"User","site_admin":false},"repo":{"id":30288995,"name":"WebService-Shutterstock","full_name":"haarg/WebService-Shutterstock","owner":{"login":"haarg","id":50029,"avatar_url":"https://avatars.githubusercontent.com/u/50029?v=3","gravatar_id":"","url":"https://api.github.com/users/haarg","html_url":"https://github.com/haarg","followers_url":"https://api.github.com/users/haarg/followers","following_url":"https://api.github.com/users/haarg/following{/other_user}","gists_url":"https://api.github.com/users/haarg/gists{/gist_id}","starred_url":"https://api.github.com/users/haarg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haarg/subscriptions","organizations_url":"https://api.github.com/users/haarg/orgs","repos_url":"https://api.github.com/users/haarg/repos","events_url":"https://api.github.com/users/haarg/events{/privacy}","received_events_url":"https://api.github.com/users/haarg/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/haarg/WebService-Shutterstock","description":"Easy access to Shutterstock's public API","fork":true,"url":"https://api.github.com/repos/haarg/WebService-Shutterstock","forks_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/forks","keys_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/teams","hooks_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/hooks","issue_events_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/issues/events{/number}","events_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/events","assignees_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/assignees{/user}","branches_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/branches{/branch}","tags_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/tags","blobs_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/git/refs{/sha}","trees_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/statuses/{sha}","languages_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/languages","stargazers_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/stargazers","contributors_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/contributors","subscribers_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/subscribers","subscription_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/subscription","commits_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/commits{/sha}","git_commits_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/git/commits{/sha}","comments_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/comments{/number}","issue_comment_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/issues/comments/{number}","contents_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/contents/{+path}","compare_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/merges","archive_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/downloads","issues_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/issues{/number}","pulls_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/pulls{/number}","milestones_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/milestones{/number}","notifications_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/labels{/name}","releases_url":"https://api.github.com/repos/haarg/WebService-Shutterstock/releases{/id}","created_at":"2015-02-04T08:28:13Z","updated_at":"2015-02-04T08:28:14Z","pushed_at":"2015-02-04T08:28:23Z","git_url":"git://github.com/haarg/WebService-Shutterstock.git","ssh_url":"git@github.com:haarg/WebService-Shutterstock.git","clone_url":"https://github.com/haarg/WebService-Shutterstock.git","svn_url":"https://github.com/haarg/WebService-Shutterstock","homepage":"http://search.cpan.org/dist/WebService-Shutterstock/","size":736,"stargazers_count":0,"watchers_count":0,"language":"Perl","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":"build/master"}},"base":{"label":"shutterstock:master","ref":"master","sha":"48375d8eaac27a948d1b4138415e1be91536b169","user":{"login":"shutterstock","id":589896,"avatar_url":"https://avatars.githubusercontent.com/u/589896?v=3","gravatar_id":"","url":"https://api.github.com/users/shutterstock","html_url":"https://github.com/shutterstock","followers_url":"https://api.github.com/users/shutterstock/followers","following_url":"https://api.github.com/users/shutterstock/following{/other_user}","gists_url":"https://api.github.com/users/shutterstock/gists{/gist_id}","starred_url":"https://api.github.com/users/shutterstock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shutterstock/subscriptions","organizations_url":"https://api.github.com/users/shutterstock/orgs","repos_url":"https://api.github.com/users/shutterstock/repos","events_url":"https://api.github.com/users/shutterstock/events{/privacy}","received_events_url":"https://api.github.com/users/shutterstock/received_events","type":"Organization","site_admin":false},"repo":{"id":6476849,"name":"WebService-Shutterstock","full_name":"shutterstock/WebService-Shutterstock","owner":{"login":"shutterstock","id":589896,"avatar_url":"https://avatars.githubusercontent.com/u/589896?v=3","gravatar_id":"","url":"https://api.github.com/users/shutterstock","html_url":"https://github.com/shutterstock","followers_url":"https://api.github.com/users/shutterstock/followers","following_url":"https://api.github.com/users/shutterstock/following{/other_user}","gists_url":"https://api.github.com/users/shutterstock/gists{/gist_id}","starred_url":"https://api.github.com/users/shutterstock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shutterstock/subscriptions","organizations_url":"https://api.github.com/users/shutterstock/orgs","repos_url":"https://api.github.com/users/shutterstock/repos","events_url":"https://api.github.com/users/shutterstock/events{/privacy}","received_events_url":"https://api.github.com/users/shutterstock/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/shutterstock/WebService-Shutterstock","description":"Easy access to Shutterstock's public API","fork":false,"url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock","forks_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/forks","keys_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/teams","hooks_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/hooks","issue_events_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues/events{/number}","events_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/events","assignees_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/assignees{/user}","branches_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/branches{/branch}","tags_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/tags","blobs_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/git/refs{/sha}","trees_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/statuses/{sha}","languages_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/languages","stargazers_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/stargazers","contributors_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/contributors","subscribers_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/subscribers","subscription_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/subscription","commits_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/commits{/sha}","git_commits_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/git/commits{/sha}","comments_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/comments{/number}","issue_comment_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues/comments/{number}","contents_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/contents/{+path}","compare_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/merges","archive_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/downloads","issues_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues{/number}","pulls_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls{/number}","milestones_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/milestones{/number}","notifications_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/labels{/name}","releases_url":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/releases{/id}","created_at":"2012-10-31T16:12:36Z","updated_at":"2014-10-02T05:33:37Z","pushed_at":"2013-07-11T17:53:31Z","git_url":"git://github.com/shutterstock/WebService-Shutterstock.git","ssh_url":"git@github.com:shutterstock/WebService-Shutterstock.git","clone_url":"https://github.com/shutterstock/WebService-Shutterstock.git","svn_url":"https://github.com/shutterstock/WebService-Shutterstock","homepage":"http://search.cpan.org/dist/WebService-Shutterstock/","size":736,"stargazers_count":1,"watchers_count":1,"language":"Perl","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":3,"forks":6,"open_issues":3,"watchers":1,"default_branch":"build/master"}},"_links":{"self":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/5"},"html":{"href":"https://github.com/shutterstock/WebService-Shutterstock/pull/5"},"issue":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues/5"},"comments":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/shutterstock/WebService-Shutterstock/statuses/4b2c052575ea748b83f136bd579c4e20670f33ee"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":11,"deletions":11,"changed_files":1}}