{"action":"opened","number":321,"pull_request":{"url":"https://api.github.com/repos/tchandy/octopus/pulls/321","id":41799271,"html_url":"https://github.com/tchandy/octopus/pull/321","diff_url":"https://github.com/tchandy/octopus/pull/321.diff","patch_url":"https://github.com/tchandy/octopus/pull/321.patch","issue_url":"https://api.github.com/repos/tchandy/octopus/issues/321","number":321,"state":"open","locked":false,"title":"Replace Module#include & alias_method_chain with Module#prepend & super","user":{"login":"ronen","id":125620,"avatar_url":"https://avatars.githubusercontent.com/u/125620?v=3","gravatar_id":"","url":"https://api.github.com/users/ronen","html_url":"https://github.com/ronen","followers_url":"https://api.github.com/users/ronen/followers","following_url":"https://api.github.com/users/ronen/following{/other_user}","gists_url":"https://api.github.com/users/ronen/gists{/gist_id}","starred_url":"https://api.github.com/users/ronen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronen/subscriptions","organizations_url":"https://api.github.com/users/ronen/orgs","repos_url":"https://api.github.com/users/ronen/repos","events_url":"https://api.github.com/users/ronen/events{/privacy}","received_events_url":"https://api.github.com/users/ronen/received_events","type":"User","site_admin":false},"body":"As of ruby 2.0, `Module` supports `#prepend`, which allows derivation-style overriding using `super`, rather than the old-style insertion and `alias_method_chain` hack.  See, e.g., [this blog post](http://dev.af83.com/2012/10/19/ruby-2-0-module-prepend.html)\r\n\r\nAside from being generally cleaner, and the direction [rails is going](http://weblog.rubyonrails.org/2015/3/27/this-week-in-rails-goodbye-alias_method_chain-postgresql-typecasting-and-more/), this PR specifically fixes the inifinite recursion reported in SchemaPlus/schema_monkey#4\r\n","created_at":"2015-08-06T15:14:57Z","updated_at":"2015-08-06T15:14:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tchandy/octopus/pulls/321/commits","review_comments_url":"https://api.github.com/repos/tchandy/octopus/pulls/321/comments","review_comment_url":"https://api.github.com/repos/tchandy/octopus/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tchandy/octopus/issues/321/comments","statuses_url":"https://api.github.com/repos/tchandy/octopus/statuses/7df06b7ead77faf039f68a0880d981f01420c7ad","head":{"label":"ronen:replace-alias-method-chain","ref":"replace-alias-method-chain","sha":"7df06b7ead77faf039f68a0880d981f01420c7ad","user":{"login":"ronen","id":125620,"avatar_url":"https://avatars.githubusercontent.com/u/125620?v=3","gravatar_id":"","url":"https://api.github.com/users/ronen","html_url":"https://github.com/ronen","followers_url":"https://api.github.com/users/ronen/followers","following_url":"https://api.github.com/users/ronen/following{/other_user}","gists_url":"https://api.github.com/users/ronen/gists{/gist_id}","starred_url":"https://api.github.com/users/ronen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronen/subscriptions","organizations_url":"https://api.github.com/users/ronen/orgs","repos_url":"https://api.github.com/users/ronen/repos","events_url":"https://api.github.com/users/ronen/events{/privacy}","received_events_url":"https://api.github.com/users/ronen/received_events","type":"User","site_admin":false},"repo":{"id":40309756,"name":"octopus","full_name":"ronen/octopus","owner":{"login":"ronen","id":125620,"avatar_url":"https://avatars.githubusercontent.com/u/125620?v=3","gravatar_id":"","url":"https://api.github.com/users/ronen","html_url":"https://github.com/ronen","followers_url":"https://api.github.com/users/ronen/followers","following_url":"https://api.github.com/users/ronen/following{/other_user}","gists_url":"https://api.github.com/users/ronen/gists{/gist_id}","starred_url":"https://api.github.com/users/ronen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronen/subscriptions","organizations_url":"https://api.github.com/users/ronen/orgs","repos_url":"https://api.github.com/users/ronen/repos","events_url":"https://api.github.com/users/ronen/events{/privacy}","received_events_url":"https://api.github.com/users/ronen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ronen/octopus","description":"Database Sharding for ActiveRecord","fork":true,"url":"https://api.github.com/repos/ronen/octopus","forks_url":"https://api.github.com/repos/ronen/octopus/forks","keys_url":"https://api.github.com/repos/ronen/octopus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ronen/octopus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ronen/octopus/teams","hooks_url":"https://api.github.com/repos/ronen/octopus/hooks","issue_events_url":"https://api.github.com/repos/ronen/octopus/issues/events{/number}","events_url":"https://api.github.com/repos/ronen/octopus/events","assignees_url":"https://api.github.com/repos/ronen/octopus/assignees{/user}","branches_url":"https://api.github.com/repos/ronen/octopus/branches{/branch}","tags_url":"https://api.github.com/repos/ronen/octopus/tags","blobs_url":"https://api.github.com/repos/ronen/octopus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ronen/octopus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ronen/octopus/git/refs{/sha}","trees_url":"https://api.github.com/repos/ronen/octopus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ronen/octopus/statuses/{sha}","languages_url":"https://api.github.com/repos/ronen/octopus/languages","stargazers_url":"https://api.github.com/repos/ronen/octopus/stargazers","contributors_url":"https://api.github.com/repos/ronen/octopus/contributors","subscribers_url":"https://api.github.com/repos/ronen/octopus/subscribers","subscription_url":"https://api.github.com/repos/ronen/octopus/subscription","commits_url":"https://api.github.com/repos/ronen/octopus/commits{/sha}","git_commits_url":"https://api.github.com/repos/ronen/octopus/git/commits{/sha}","comments_url":"https://api.github.com/repos/ronen/octopus/comments{/number}","issue_comment_url":"https://api.github.com/repos/ronen/octopus/issues/comments{/number}","contents_url":"https://api.github.com/repos/ronen/octopus/contents/{+path}","compare_url":"https://api.github.com/repos/ronen/octopus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ronen/octopus/merges","archive_url":"https://api.github.com/repos/ronen/octopus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ronen/octopus/downloads","issues_url":"https://api.github.com/repos/ronen/octopus/issues{/number}","pulls_url":"https://api.github.com/repos/ronen/octopus/pulls{/number}","milestones_url":"https://api.github.com/repos/ronen/octopus/milestones{/number}","notifications_url":"https://api.github.com/repos/ronen/octopus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ronen/octopus/labels{/name}","releases_url":"https://api.github.com/repos/ronen/octopus/releases{/id}","created_at":"2015-08-06T14:37:59Z","updated_at":"2015-08-06T14:38:00Z","pushed_at":"2015-08-06T15:08:15Z","git_url":"git://github.com/ronen/octopus.git","ssh_url":"git@github.com:ronen/octopus.git","clone_url":"https://github.com/ronen/octopus.git","svn_url":"https://github.com/ronen/octopus","homepage":"","size":2576,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"tchandy:master","ref":"master","sha":"1f0c7fddf318d2523c2e763adb857de3c2789f44","user":{"login":"tchandy","id":6090,"avatar_url":"https://avatars.githubusercontent.com/u/6090?v=3","gravatar_id":"","url":"https://api.github.com/users/tchandy","html_url":"https://github.com/tchandy","followers_url":"https://api.github.com/users/tchandy/followers","following_url":"https://api.github.com/users/tchandy/following{/other_user}","gists_url":"https://api.github.com/users/tchandy/gists{/gist_id}","starred_url":"https://api.github.com/users/tchandy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tchandy/subscriptions","organizations_url":"https://api.github.com/users/tchandy/orgs","repos_url":"https://api.github.com/users/tchandy/repos","events_url":"https://api.github.com/users/tchandy/events{/privacy}","received_events_url":"https://api.github.com/users/tchandy/received_events","type":"User","site_admin":false},"repo":{"id":668622,"name":"octopus","full_name":"tchandy/octopus","owner":{"login":"tchandy","id":6090,"avatar_url":"https://avatars.githubusercontent.com/u/6090?v=3","gravatar_id":"","url":"https://api.github.com/users/tchandy","html_url":"https://github.com/tchandy","followers_url":"https://api.github.com/users/tchandy/followers","following_url":"https://api.github.com/users/tchandy/following{/other_user}","gists_url":"https://api.github.com/users/tchandy/gists{/gist_id}","starred_url":"https://api.github.com/users/tchandy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tchandy/subscriptions","organizations_url":"https://api.github.com/users/tchandy/orgs","repos_url":"https://api.github.com/users/tchandy/repos","events_url":"https://api.github.com/users/tchandy/events{/privacy}","received_events_url":"https://api.github.com/users/tchandy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tchandy/octopus","description":"Database Sharding for ActiveRecord","fork":false,"url":"https://api.github.com/repos/tchandy/octopus","forks_url":"https://api.github.com/repos/tchandy/octopus/forks","keys_url":"https://api.github.com/repos/tchandy/octopus/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tchandy/octopus/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tchandy/octopus/teams","hooks_url":"https://api.github.com/repos/tchandy/octopus/hooks","issue_events_url":"https://api.github.com/repos/tchandy/octopus/issues/events{/number}","events_url":"https://api.github.com/repos/tchandy/octopus/events","assignees_url":"https://api.github.com/repos/tchandy/octopus/assignees{/user}","branches_url":"https://api.github.com/repos/tchandy/octopus/branches{/branch}","tags_url":"https://api.github.com/repos/tchandy/octopus/tags","blobs_url":"https://api.github.com/repos/tchandy/octopus/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tchandy/octopus/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tchandy/octopus/git/refs{/sha}","trees_url":"https://api.github.com/repos/tchandy/octopus/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tchandy/octopus/statuses/{sha}","languages_url":"https://api.github.com/repos/tchandy/octopus/languages","stargazers_url":"https://api.github.com/repos/tchandy/octopus/stargazers","contributors_url":"https://api.github.com/repos/tchandy/octopus/contributors","subscribers_url":"https://api.github.com/repos/tchandy/octopus/subscribers","subscription_url":"https://api.github.com/repos/tchandy/octopus/subscription","commits_url":"https://api.github.com/repos/tchandy/octopus/commits{/sha}","git_commits_url":"https://api.github.com/repos/tchandy/octopus/git/commits{/sha}","comments_url":"https://api.github.com/repos/tchandy/octopus/comments{/number}","issue_comment_url":"https://api.github.com/repos/tchandy/octopus/issues/comments{/number}","contents_url":"https://api.github.com/repos/tchandy/octopus/contents/{+path}","compare_url":"https://api.github.com/repos/tchandy/octopus/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tchandy/octopus/merges","archive_url":"https://api.github.com/repos/tchandy/octopus/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tchandy/octopus/downloads","issues_url":"https://api.github.com/repos/tchandy/octopus/issues{/number}","pulls_url":"https://api.github.com/repos/tchandy/octopus/pulls{/number}","milestones_url":"https://api.github.com/repos/tchandy/octopus/milestones{/number}","notifications_url":"https://api.github.com/repos/tchandy/octopus/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tchandy/octopus/labels{/name}","releases_url":"https://api.github.com/repos/tchandy/octopus/releases{/id}","created_at":"2010-05-15T20:19:59Z","updated_at":"2015-08-06T08:05:09Z","pushed_at":"2015-08-05T03:02:23Z","git_url":"git://github.com/tchandy/octopus.git","ssh_url":"git@github.com:tchandy/octopus.git","clone_url":"https://github.com/tchandy/octopus.git","svn_url":"https://github.com/tchandy/octopus","homepage":"","size":2576,"stargazers_count":1485,"watchers_count":1485,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":244,"mirror_url":null,"open_issues_count":78,"forks":244,"open_issues":78,"watchers":1485,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tchandy/octopus/pulls/321"},"html":{"href":"https://github.com/tchandy/octopus/pull/321"},"issue":{"href":"https://api.github.com/repos/tchandy/octopus/issues/321"},"comments":{"href":"https://api.github.com/repos/tchandy/octopus/issues/321/comments"},"review_comments":{"href":"https://api.github.com/repos/tchandy/octopus/pulls/321/comments"},"review_comment":{"href":"https://api.github.com/repos/tchandy/octopus/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tchandy/octopus/pulls/321/commits"},"statuses":{"href":"https://api.github.com/repos/tchandy/octopus/statuses/7df06b7ead77faf039f68a0880d981f01420c7ad"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":3,"deletions":7,"changed_files":1}}