GitHub PullRequestReviewCommentEvent at 2014-09-16 12:52:09
Repository: go-recurly
Actor: zbtirrell
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/GigaOM/go-recurly/pulls/comments/17598530","id":17598530,"diff_hunk":"@@ -0,0 +1,1190 @@\n+<?php\n+\n+class GO_Recurly\n+{\n+\tpublic $config = NULL;\n+\tpublic $admin = NULL;\n+\tpublic $meta_key_prefix = 'go-recurly_';\n+\tpublic $version = '1';\n+\tpublic $freebies = NULL;\n+\n+\tprivate $user_profile = NULL;\n+\tprivate $recurly_client = NULL;\n+\tprivate $registered_pages = array();\n+\n+\t/**\n+\t * constructor\n+\t *\n+\t * @param $config array of configuration settings (optional)\n+\t */\n+\tpublic function __construct( $config = NULL )\n+\t{\n+\t\t$this->config = apply_filters( 'go_config', $config, 'go-recurly' );\n+\n+\t\tif ( empty( $this->config ) )\n+\t\t{\n+\t\t\treturn;\n+\t\t}\n+\n+\t\t// add our user cap at priority 11, after go-subscription's\n+\t\tadd_filter( 'user_has_cap', array( $this, 'user_has_cap' ), 10, 3 );\n+\n+\t\tif ( ! is_admin() )\n+\t\t{\n+\t\t\tadd_shortcode( 'go_recurly_subscription_form', array( $this, 'subscription_form' ) );\n+\n+\t\t\tadd_action( 'init', array( $this, 'init' ) );\n+\n+\t\t\t$this->detect_coupon();\n+\t\t}//end if\n+\n+\t\t// on any other blog, we do not want/need the rest of this plugin's functionality\n+\t\tif ( 'pro' != go_config()->get_property_slug() && 'accounts' != go_config()->get_property_slug() )\n+\t\t{\n+\t\t\treturn;\n+\t\t}\n+\n+\t\tif ( is_admin() )\n+\t\t{\n+\t\t\t$this->admin();\n+\t\t}\n+\t\telse\n+\t\t{\n+\t\t\tadd_action( 'go_user_profile_email_updated', array( $this, 'go_user_profile_email_updated' ), 10, 2 );\n+\t\t}\n+\n+\t\t// make sure freebies action hooks are live\n+\t\t$this->freebies();\n+\n+\t\tadd_filter( 'go_remote_identity_nav', array( $this, 'go_remote_identity_nav' ), 12, 2 );\n+\t\tadd_filter( 'go_user_profile_screens', array( $this, 'go_user_profile_screens' ) );\n+\t}//end __construct\n+\n+\t/**\n+\t * hooked to WordPress init\n+\t */\n+\tpublic function init()\n+\t{\n+\t\tif ( 'POST' == $_SERVER['REQUEST_METHOD'] )\n+\t\t{\n+\t\t\t$this->handle_post();\n+\t\t}\n+\n+\t\t// doing this here rather than on the wp_enqueue_scripts hook so\n+\t\t// that it is done before pre_get_posts\n+\t\t$this->wp_enqueue_scripts();\n+\t}//end init\n+\n+\t/**\n+\t * hooked to WordPress init\n+\t */\n+\tpublic function freebies()\n+\t{\n+\t\tif ( ! $this->freebies  )\n+\t\t{\n+\t\t\trequire_once __DIR__ . '/class-go-recurly-freebies.php';\n+\t\t\t$this->freebies = new GO_Recurly_Freebies();\n+\t\t} // end if\n+\n+\t\treturn $this->freebies;\n+\t}//end freebies\n+\n+/**\n+\t * Keeping form post handling segregated (or should we just merge this\n+\t * into init?)\n+\t */\n+\tpublic function handle_post()\n+\t{\n+\t\tif ( isset( $_POST['recurly_token'] ) )\n+\t\t{\n+\t\t\t// handle the post response from recurly after step 2 signup form\n+\t\t\t$this->thankyou();\n+\t\t}\n+\t}//end handle_post\n+\n+\t/**\n+\t * register and enqueue scripts and styles\n+\t */\n+\tpublic function wp_enqueue_scripts()\n+\t{\n+\t\t$script_config = apply_filters( 'go_config', array( 'version' => 1 ), 'go-script-version' );\n+\n+\t\twp_register_script(\n+\t\t\t'recurly-js',\n+\t\t\tplugins_url( 'js/external/recurly-js/recurly.min.js', __FILE__ ),\n+\t\t\tarray( 'jquery' ),\n+\t\t\t$script_config['version'],\n+\t\t\tTRUE\n+\t\t);\n+\n+\t\twp_register_script(\n+\t\t\t'go-recurly-config',\n+\t\t\tplugins_url( 'js/go-recurly-config.js', __FILE__ ),\n+\t\t\tarray(\n+\t\t\t\t'jquery',\n+\t\t\t\t'recurly-js',\n+\t\t\t),\n+\t\t\t$script_config['version'],\n+\t\t\tTRUE\n+\t\t);\n+\n+\t\twp_register_script(\n+\t\t\t'go-recurly',\n+\t\t\tplugins_url( 'js/go-recurly.js', __FILE__ ),\n+\t\t\tarray( 'go-recurly-config' ),\n+\t\t\t$script_config['version'],\n+\t\t\tTRUE\n+\t\t);\n+\n+\t\twp_register_script(\n+\t\t\t'go-recurly-behavior',\n+\t\t\tplugins_url( 'js/go-recurly-behavior.js', __FILE__ ),\n+\t\t\tarray( 'go-recurly' ),\n+\t\t\t$script_config['version'],\n+\t\t\tTRUE\n+\t\t);\n+\n+\t\twp_register_style( 'go-recurly', plugins_url( 'css/go-recurly.css', __FILE__ ), array(), $script_config['version'] );\n+\t\twp_register_style( 'recurly-css', plugins_url( 'js/external/recurly-js/themes/default/recurly.css', __FILE__ ), array(), $script_config['version'] );\n+\n+\t\twp_enqueue_script( 'recurly-js' );\n+\t\twp_enqueue_script( 'go-recurly-config' );\n+\t\twp_enqueue_script( 'go-recurly' );\n+\t\twp_enqueue_script( 'go-recurly-behavior' );\n+\n+\t\twp_enqueue_style( 'recurly-css' );\n+\t\twp_enqueue_style( 'go-recurly' );\n+\n+\t\t// check if we have an email-less user, which can exist if the user\n+\t\t// logged in with a social network account\n+\t\t$user_has_email = 0;\n+\t\t$user = go_subscriptions()->get_user();\n+\t\tif ( $user && isset( $user['email'] ) && ! empty( $user['email'] ) )\n+\t\t{\n+\t\t\t$user_has_email = 1;\n+\t\t}\n+\t\twp_localize_script(\n+\t\t\t'go-recurly-config',\n+\t\t\t'go_recurly_settings',\n+\t\t\tarray(\n+\t\t\t\t'subdomain' => $this->config['recurly_subdomain'],\n+\t\t\t\t'user_has_email' => $user_has_email,\n+\t\t\t)\n+\t\t);\n+\t\twp_localize_script( 'go-recurly-behavior', 'go_recurly_ajax', array( 'url' => site_url( '/wp-admin/admin-ajax.php' ) ) );\n+\t}//end wp_enqueue_scripts\n+\n+\t/**\n+\t * retrieves an admin singleton\n+\t */\n+\tpublic function admin()\n+\t{\n+\t\tif ( ! $this->admin )\n+\t\t{\n+\t\t\trequire_once __DIR__ . '/class-go-recurly-admin.php';\n+\n+\t\t\t$this->admin = new GO_Recurly_Admin( $this );\n+\t\t}\n+\n+\t\treturn $this->admin;\n+\t}//end admin\n+\n+\t/**\n+\t * hooked to user_has_cap filter\n+\t *\n+\t * @param $all_caps array of capabilities they have (to be filtered)\n+\t * @param $unused_meta_caps array of the required capabilities they need to have for a successful current_user_can\n+\t * @param $args array [0] Requested capability\n+\t *                    [1] User ID\n+ \t *                    [2] Associated object ID\n+\t */\n+\tpublic function user_has_cap( $all_caps, $unused_meta_caps, $args )\n+\t{\n+\t\tlist( $cap, $user_id ) = $args;\n+\n+\t\t$subscription = go_subscriptions()->get_subscription_meta( $user_id );\n+\n+\t\t// did_trial indicates that the user had a trial account at one time (not necessarily still in their trial)\n+\t\tif ( isset( $subscription['sub_trial_started_at'] ) )\n+\t\t{\n+\t\t\t$all_caps['did_trial'] = TRUE;\n+\t\t}\n+\n+\t\t// did_subscription indicates that the user at one time successfully paid for a subscription.\n+\t\tif ( isset( $subscription['sub_did_subscription'] ) )\n+\t\t{\n+\t\t\t$all_caps['did_subscription'] = TRUE;\n+\t\t}\n+\n+\t\t// sub_state_active indicates that they have an active subscription\n+\t\t// sub_state_expired indicates that they have an expired subscription\n+\t\tif ( isset( $subscription['sub_state'] ) )\n+\t\t{\n+\t\t\t// theoretically could be: \"active\", \"canceled\", \"expired\", \"future\", \"in_trial\", \"live\", or \"past_due\".\n+\t\t\t// since this is set via push, \"active\" and \"expired\" seem to be the states that come through consistently\n+\t\t\t$all_caps[ 'sub_state_' . $subscription['sub_state'] ] = TRUE;\n+\n+\t\t\t// in case this is not being run from the main site, add the subscriber role if their account is active\n+\t\t\tif ( 'active' == $subscription['sub_state'] )\n+\t\t\t{\n+\t\t\t\t$all_caps['subscriber'] = TRUE;\n+\t\t\t}\n+\t\t}//end if\n+\n+\t\t// has_subscription_data should be set for any user who went through the recurly sign up\n+\t\t$account_code = $this->get_account_code( $user_id );\n+\n+\t\tif ( $account_code )\n+\t\t{\n+\t\t\t$all_caps['has_subscription_data'] = TRUE;\n+\t\t}\n+\n+\t\t// login_with_key is for go-softlogins\n+\t\t// @todo: should this include 'guest' as well?","path":"components/class-go-recurly.php","position":243,"original_position":243,"commit_id":"314e36d2c17ea356a6510554e704a3ca45392c4e","original_commit_id":"314e36d2c17ea356a6510554e704a3ca45392c4e","user":{"login":"zbtirrell","id":576707,"avatar_url":"https://avatars.githubusercontent.com/u/576707?v=2","gravatar_id":"eeb48b1ae8eca09700c2c2642a1f7dcf","url":"https://api.github.com/users/zbtirrell","html_url":"https://github.com/zbtirrell","followers_url":"https://api.github.com/users/zbtirrell/followers","following_url":"https://api.github.com/users/zbtirrell/following{/other_user}","gists_url":"https://api.github.com/users/zbtirrell/gists{/gist_id}","starred_url":"https://api.github.com/users/zbtirrell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zbtirrell/subscriptions","organizations_url":"https://api.github.com/users/zbtirrell/orgs","repos_url":"https://api.github.com/users/zbtirrell/repos","events_url":"https://api.github.com/users/zbtirrell/events{/privacy}","received_events_url":"https://api.github.com/users/zbtirrell/received_events","type":"User","site_admin":false},"body":"this `@todo` appears to have been addressed.","created_at":"2014-09-16T12:52:09Z","updated_at":"2014-09-16T12:52:09Z","html_url":"https://github.com/GigaOM/go-recurly/pull/5#discussion_r17598530","pull_request_url":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/GigaOM/go-recurly/pulls/comments/17598530"},"html":{"href":"https://github.com/GigaOM/go-recurly/pull/5#discussion_r17598530"},"pull_request":{"href":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5","id":21265923,"html_url":"https://github.com/GigaOM/go-recurly/pull/5","diff_url":"https://github.com/GigaOM/go-recurly/pull/5.diff","patch_url":"https://github.com/GigaOM/go-recurly/pull/5.patch","issue_url":"https://api.github.com/repos/GigaOM/go-recurly/issues/5","number":5,"state":"open","locked":false,"title":"Freebird: the new go-recurly plugin","user":{"login":"wluo","id":3730514,"avatar_url":"https://avatars.githubusercontent.com/u/3730514?v=2","gravatar_id":"508fbb458a3c4ccb3223207b546a23dc","url":"https://api.github.com/users/wluo","html_url":"https://github.com/wluo","followers_url":"https://api.github.com/users/wluo/followers","following_url":"https://api.github.com/users/wluo/following{/other_user}","gists_url":"https://api.github.com/users/wluo/gists{/gist_id}","starred_url":"https://api.github.com/users/wluo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wluo/subscriptions","organizations_url":"https://api.github.com/users/wluo/orgs","repos_url":"https://api.github.com/users/wluo/repos","events_url":"https://api.github.com/users/wluo/events{/privacy}","received_events_url":"https://api.github.com/users/wluo/received_events","type":"User","site_admin":false},"body":"mostly pulled out of `go-subscriptions` and `go-subscriptions-freebies`.\r\n\r\nsee https://github.com/GigaOM/legacy-pro/issues/4125","created_at":"2014-09-15T22:37:39Z","updated_at":"2014-09-16T12:52:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"30e36644df2f52607886a7fb86435943bf7e4d3d","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5/commits","review_comments_url":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5/comments","review_comment_url":"https://api.github.com/repos/GigaOM/go-recurly/pulls/comments/{number}","comments_url":"https://api.github.com/repos/GigaOM/go-recurly/issues/5/comments","statuses_url":"https://api.github.com/repos/GigaOM/go-recurly/statuses/314e36d2c17ea356a6510554e704a3ca45392c4e","head":{"label":"GigaOM:freebird","ref":"freebird","sha":"314e36d2c17ea356a6510554e704a3ca45392c4e","user":{"login":"GigaOM","id":2227484,"avatar_url":"https://avatars.githubusercontent.com/u/2227484?v=2","gravatar_id":"e9fa5cf69feb01ecd254e41b14af77a1","url":"https://api.github.com/users/GigaOM","html_url":"https://github.com/GigaOM","followers_url":"https://api.github.com/users/GigaOM/followers","following_url":"https://api.github.com/users/GigaOM/following{/other_user}","gists_url":"https://api.github.com/users/GigaOM/gists{/gist_id}","starred_url":"https://api.github.com/users/GigaOM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GigaOM/subscriptions","organizations_url":"https://api.github.com/users/GigaOM/orgs","repos_url":"https://api.github.com/users/GigaOM/repos","events_url":"https://api.github.com/users/GigaOM/events{/privacy}","received_events_url":"https://api.github.com/users/GigaOM/received_events","type":"Organization","site_admin":false},"repo":{"id":23802450,"name":"go-recurly","full_name":"GigaOM/go-recurly","owner":{"login":"GigaOM","id":2227484,"avatar_url":"https://avatars.githubusercontent.com/u/2227484?v=2","gravatar_id":"e9fa5cf69feb01ecd254e41b14af77a1","url":"https://api.github.com/users/GigaOM","html_url":"https://github.com/GigaOM","followers_url":"https://api.github.com/users/GigaOM/followers","following_url":"https://api.github.com/users/GigaOM/following{/other_user}","gists_url":"https://api.github.com/users/GigaOM/gists{/gist_id}","starred_url":"https://api.github.com/users/GigaOM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GigaOM/subscriptions","organizations_url":"https://api.github.com/users/GigaOM/orgs","repos_url":"https://api.github.com/users/GigaOM/repos","events_url":"https://api.github.com/users/GigaOM/events{/privacy}","received_events_url":"https://api.github.com/users/GigaOM/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GigaOM/go-recurly","description":"Gigaom Recurly management plugin","fork":false,"url":"https://api.github.com/repos/GigaOM/go-recurly","forks_url":"https://api.github.com/repos/GigaOM/go-recurly/forks","keys_url":"https://api.github.com/repos/GigaOM/go-recurly/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GigaOM/go-recurly/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GigaOM/go-recurly/teams","hooks_url":"https://api.github.com/repos/GigaOM/go-recurly/hooks","issue_events_url":"https://api.github.com/repos/GigaOM/go-recurly/issues/events{/number}","events_url":"https://api.github.com/repos/GigaOM/go-recurly/events","assignees_url":"https://api.github.com/repos/GigaOM/go-recurly/assignees{/user}","branches_url":"https://api.github.com/repos/GigaOM/go-recurly/branches{/branch}","tags_url":"https://api.github.com/repos/GigaOM/go-recurly/tags","blobs_url":"https://api.github.com/repos/GigaOM/go-recurly/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GigaOM/go-recurly/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GigaOM/go-recurly/git/refs{/sha}","trees_url":"https://api.github.com/repos/GigaOM/go-recurly/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GigaOM/go-recurly/statuses/{sha}","languages_url":"https://api.github.com/repos/GigaOM/go-recurly/languages","stargazers_url":"https://api.github.com/repos/GigaOM/go-recurly/stargazers","contributors_url":"https://api.github.com/repos/GigaOM/go-recurly/contributors","subscribers_url":"https://api.github.com/repos/GigaOM/go-recurly/subscribers","subscription_url":"https://api.github.com/repos/GigaOM/go-recurly/subscription","commits_url":"https://api.github.com/repos/GigaOM/go-recurly/commits{/sha}","git_commits_url":"https://api.github.com/repos/GigaOM/go-recurly/git/commits{/sha}","comments_url":"https://api.github.com/repos/GigaOM/go-recurly/comments{/number}","issue_comment_url":"https://api.github.com/repos/GigaOM/go-recurly/issues/comments/{number}","contents_url":"https://api.github.com/repos/GigaOM/go-recurly/contents/{+path}","compare_url":"https://api.github.com/repos/GigaOM/go-recurly/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GigaOM/go-recurly/merges","archive_url":"https://api.github.com/repos/GigaOM/go-recurly/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GigaOM/go-recurly/downloads","issues_url":"https://api.github.com/repos/GigaOM/go-recurly/issues{/number}","pulls_url":"https://api.github.com/repos/GigaOM/go-recurly/pulls{/number}","milestones_url":"https://api.github.com/repos/GigaOM/go-recurly/milestones{/number}","notifications_url":"https://api.github.com/repos/GigaOM/go-recurly/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GigaOM/go-recurly/labels{/name}","releases_url":"https://api.github.com/repos/GigaOM/go-recurly/releases{/id}","created_at":"2014-09-08T18:17:33Z","updated_at":"2014-09-08T18:17:33Z","pushed_at":"2014-09-15T22:04:58Z","git_url":"git://github.com/GigaOM/go-recurly.git","ssh_url":"git@github.com:GigaOM/go-recurly.git","clone_url":"https://github.com/GigaOM/go-recurly.git","svn_url":"https://github.com/GigaOM/go-recurly","homepage":null,"size":297,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"GigaOM:master","ref":"master","sha":"0997d287b473509ac0f07d286046dcab1b740729","user":{"login":"GigaOM","id":2227484,"avatar_url":"https://avatars.githubusercontent.com/u/2227484?v=2","gravatar_id":"e9fa5cf69feb01ecd254e41b14af77a1","url":"https://api.github.com/users/GigaOM","html_url":"https://github.com/GigaOM","followers_url":"https://api.github.com/users/GigaOM/followers","following_url":"https://api.github.com/users/GigaOM/following{/other_user}","gists_url":"https://api.github.com/users/GigaOM/gists{/gist_id}","starred_url":"https://api.github.com/users/GigaOM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GigaOM/subscriptions","organizations_url":"https://api.github.com/users/GigaOM/orgs","repos_url":"https://api.github.com/users/GigaOM/repos","events_url":"https://api.github.com/users/GigaOM/events{/privacy}","received_events_url":"https://api.github.com/users/GigaOM/received_events","type":"Organization","site_admin":false},"repo":{"id":23802450,"name":"go-recurly","full_name":"GigaOM/go-recurly","owner":{"login":"GigaOM","id":2227484,"avatar_url":"https://avatars.githubusercontent.com/u/2227484?v=2","gravatar_id":"e9fa5cf69feb01ecd254e41b14af77a1","url":"https://api.github.com/users/GigaOM","html_url":"https://github.com/GigaOM","followers_url":"https://api.github.com/users/GigaOM/followers","following_url":"https://api.github.com/users/GigaOM/following{/other_user}","gists_url":"https://api.github.com/users/GigaOM/gists{/gist_id}","starred_url":"https://api.github.com/users/GigaOM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GigaOM/subscriptions","organizations_url":"https://api.github.com/users/GigaOM/orgs","repos_url":"https://api.github.com/users/GigaOM/repos","events_url":"https://api.github.com/users/GigaOM/events{/privacy}","received_events_url":"https://api.github.com/users/GigaOM/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GigaOM/go-recurly","description":"Gigaom Recurly management plugin","fork":false,"url":"https://api.github.com/repos/GigaOM/go-recurly","forks_url":"https://api.github.com/repos/GigaOM/go-recurly/forks","keys_url":"https://api.github.com/repos/GigaOM/go-recurly/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GigaOM/go-recurly/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GigaOM/go-recurly/teams","hooks_url":"https://api.github.com/repos/GigaOM/go-recurly/hooks","issue_events_url":"https://api.github.com/repos/GigaOM/go-recurly/issues/events{/number}","events_url":"https://api.github.com/repos/GigaOM/go-recurly/events","assignees_url":"https://api.github.com/repos/GigaOM/go-recurly/assignees{/user}","branches_url":"https://api.github.com/repos/GigaOM/go-recurly/branches{/branch}","tags_url":"https://api.github.com/repos/GigaOM/go-recurly/tags","blobs_url":"https://api.github.com/repos/GigaOM/go-recurly/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GigaOM/go-recurly/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GigaOM/go-recurly/git/refs{/sha}","trees_url":"https://api.github.com/repos/GigaOM/go-recurly/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GigaOM/go-recurly/statuses/{sha}","languages_url":"https://api.github.com/repos/GigaOM/go-recurly/languages","stargazers_url":"https://api.github.com/repos/GigaOM/go-recurly/stargazers","contributors_url":"https://api.github.com/repos/GigaOM/go-recurly/contributors","subscribers_url":"https://api.github.com/repos/GigaOM/go-recurly/subscribers","subscription_url":"https://api.github.com/repos/GigaOM/go-recurly/subscription","commits_url":"https://api.github.com/repos/GigaOM/go-recurly/commits{/sha}","git_commits_url":"https://api.github.com/repos/GigaOM/go-recurly/git/commits{/sha}","comments_url":"https://api.github.com/repos/GigaOM/go-recurly/comments{/number}","issue_comment_url":"https://api.github.com/repos/GigaOM/go-recurly/issues/comments/{number}","contents_url":"https://api.github.com/repos/GigaOM/go-recurly/contents/{+path}","compare_url":"https://api.github.com/repos/GigaOM/go-recurly/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GigaOM/go-recurly/merges","archive_url":"https://api.github.com/repos/GigaOM/go-recurly/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GigaOM/go-recurly/downloads","issues_url":"https://api.github.com/repos/GigaOM/go-recurly/issues{/number}","pulls_url":"https://api.github.com/repos/GigaOM/go-recurly/pulls{/number}","milestones_url":"https://api.github.com/repos/GigaOM/go-recurly/milestones{/number}","notifications_url":"https://api.github.com/repos/GigaOM/go-recurly/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GigaOM/go-recurly/labels{/name}","releases_url":"https://api.github.com/repos/GigaOM/go-recurly/releases{/id}","created_at":"2014-09-08T18:17:33Z","updated_at":"2014-09-08T18:17:33Z","pushed_at":"2014-09-15T22:04:58Z","git_url":"git://github.com/GigaOM/go-recurly.git","ssh_url":"git@github.com:GigaOM/go-recurly.git","clone_url":"https://github.com/GigaOM/go-recurly.git","svn_url":"https://github.com/GigaOM/go-recurly","homepage":null,"size":297,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5"},"html":{"href":"https://github.com/GigaOM/go-recurly/pull/5"},"issue":{"href":"https://api.github.com/repos/GigaOM/go-recurly/issues/5"},"comments":{"href":"https://api.github.com/repos/GigaOM/go-recurly/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/GigaOM/go-recurly/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/GigaOM/go-recurly/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/GigaOM/go-recurly/statuses/314e36d2c17ea356a6510554e704a3ca45392c4e"}}}}