{"action":"created","comment":{"url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/23060797","id":23060797,"diff_hunk":"@@ -0,0 +1,358 @@\n+# Tux/Actions\n+\n+##Table of Contents\n+<ol>\n+  <li><a href=\"#Premise\">Premise</a></li>\n+  <li><a href=\"#Implementation\">Implementation</a>\n+    <ol style=\"list-style-type:upper-alpha\">\n+      <li><a href=\"#Requiring-Actions\">Requiring Actions</a>\n+      <li><a href=\"#Creating-Action-Categories\">Creating Action Categories</a></li>\n+        <ol style=\"list-style-type:upper-roman\">\n+          <li><a href=\"#create-action-category-example\">Create Action Category Example</a></li>\n+          <li><a href=\"#Actions-createActionCategory\">METHOD: Actions.createActionCategory</a></li>\n+          <li><a href=\"#actionCategory\">OBJECT: actionCategory</a>\n+            <ol style=\"list-style-type:lower-alpha\">\n+              <li><a href=\"#actionCategory-register\">METHOD: ActionCategory.register</a></li>\n+              <li><a href=\"#actionCategory-ACTION\">METHOD: ActionCategory.ACTION_VERB</a></li>\n+              <li><a href=\"#actionCategory-before\">METHOD: ActionCategory.before</a></li>\n+            </ol>\n+          </li>\n+        </ol>\n+      </li>\n+      <li><a href=\"#Registering-with-Actions\">Registering with Actions</a>\n+        <ol style=\"list-style-type:upper-roman\">\n+          <li><a href=\"#Register-with-Actions-example\">Register with Actions Example</a></li>\n+          <li><a href=\"#Actions-register\">METHOD: Actions.register</a></li>\n+        </ol>\n+      </li>\n+    </ol>\n+  </li>\n+  <li><a href=\"#TuxActions-Complete-Example\">TuxActions Complete Example</a>\n+</ol>\n+\n+##<a id=\"Premise\"></a>Premise [#](#Premise)\n+>Tux Actions is a module providing the interface for creating, listening to, and dispatching actions as per the Flux architecture within Tux.\n+\n+##<a id=\"Implementation\"></a>Implementation [#](#Implementation)\n+###<a id=\"Requiring-Actions\"></a>Requiring Actions [#](#Requiring-Actions)\n+Tux uses Facebook's [Flux](https://facebook.github.io/flux/) architecture.  However Tux abstracts the interactions with the Dispatcher away via an Actions interface.  This interface is exposed via:\n+\n+```\n+    var Actions = require('tux/Actions');\n+```\n+\n+###<a id=\"Creating-Action-Categories\"></a>Creating Action Categories [#](#Creating-Action-Categories)\n+The `Actions` object allows the user to create categories of actions via [Actions.createActionCategory](#createActionCategory).  Think of categories as the nouns upon which your action verbs act.  For example `messages`, `rooms`, `todos`, `users`.  You can then assign a list of verbs to that category, for example `create`, `read`, `update`, and `destroy`.  Lastly, you can optionally define a source for the actions, which can be helpful metadata for your store callbacks.  Lets take a look at an example: [#](#create-action-category-example)\n+<a id=\"create-action-category-example\"></a>\n+\n+```\n+    var messageActions = Actions.createActionCategory({\n+      category: 'todos',\n+      source: 'todo_views',\n+      actions: ['add', 'remove', 'edit', 'get']\n+    });\n+```\n+\n+Below is the API documentation for this method.\n+###<a id=\"Actions-createActionCategory\"></a>Actions.createActionCategory [#](#Actions-createActionCategory)\n+Returns an `actionCategory` instance based on the passed in `actionCategoryProps`.\n+\n+```\n+    var actionCategory = Actions.createActionCategory(actionCategoryProps);\n+```\n+\n+####<a id=\"actionCategoryProps\"></a>Parameter - `actionCategoryProps` - type: OBJECT - required [#](#actionCategoryProps)\n+Properties of the actionCategory to be created.  Expected keys:\n+#####<a id=\"actionCategoryProps-category\"></a>Property - `actionCategoryProps.category` - type: STRING - required [#](#actionCategoryProps-category)\n+Name of the category of actions.  Represents the noun to which action verbs will be applied.  For example: 'messages', 'todos', 'users', etc.  Must be unique to for each actionCategory.\n+\n+```\n+    actionCategoryProps.category = 'todos';\n+```\n+\n+#####<a id=\"actionCategoryProps-actions\"></a>Property - `actionCategoryProps.actions` - type: ARRAY of STRINGs - required [#](#actionCategoryProps-actions)\n+Array of action verb strings.  Represents the actions to perform on the noun defined in category.\n+\n+```\n+    actionCategoryProps.actions = ['add', 'remove', 'edit', 'get'];\n+```\n+\n+#####<a id=\"actionCategoryProps-source\"></a>Property - `actionCategoryProps.source` - type: STRING - optional [#](#actionCategoryProps-source)\n+Action source.  Represents what will be generating these verbs, which can be useful for organizing action handlers.  Some generic sources might be: 'view_components', 'external_api', 'backend_api'\n+\n+```\n+    actionCategoryProps.source = 'todo_views';\n+```\n+\n+####<a id=\"actionCategoryReturn\"></a>Return - `actionCategory` - type: OBJECT [#](#actionCategoryReturn)\n+Method returns an actionCategory object which is described below\n+\n+###<a id=\"actionCategory\"></a>actionCategory - type: OBJECT [#](#actionCategory)\n+The actionCategory has the following parameters\n+\n+####<a id=\"actionCategory-category\"></a>Property - `actionCategory.__category__` - type: STRING [#](#actionCategory-category)\n+The passed in category property is mapped to this key.  You should not normally need access to this property.\n+\n+```\n+    actionCategory.__category__ === 'todos';\n+```\n+\n+####<a id=\"actionCategory-source\"></a>Property - `actionCategory.__source__` - type: STRING [#](#actionCategory-source)\n+The passed in source is mapped here, or it is left undefined if no source is passed in. You should not normally need access to this property.\n+\n+```\n+    actionCategory.__source__ === 'todo_views';\n+```\n+\n+####<a id=\"actionCategory-register\"></a>Method - `actionCategory.register` - type: FUNCTION [#](#actionCategory-register)\n+An actionCategory instance is able to invoke [Actions.register](#Actions-register) through its own `register` method.  In which case it will use its own category as the category of actions to register to the Actions object.  See below for more information regarding the [Actions.register](#Actions-register) method.\n+\n+```\n+    actionCategory.register(storeToRegister, actionVerbCallbackMap);\n+```\n+\n+This method is equivalent to","path":"docs/TuxActions.md","position":114,"original_position":114,"commit_id":"9445553027ab42687351c8aa4787cad35f37303b","original_commit_id":"9445553027ab42687351c8aa4787cad35f37303b","user":{"login":"Cheerazar","id":5581107,"avatar_url":"https://avatars.githubusercontent.com/u/5581107?v=3","gravatar_id":"","url":"https://api.github.com/users/Cheerazar","html_url":"https://github.com/Cheerazar","followers_url":"https://api.github.com/users/Cheerazar/followers","following_url":"https://api.github.com/users/Cheerazar/following{/other_user}","gists_url":"https://api.github.com/users/Cheerazar/gists{/gist_id}","starred_url":"https://api.github.com/users/Cheerazar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cheerazar/subscriptions","organizations_url":"https://api.github.com/users/Cheerazar/orgs","repos_url":"https://api.github.com/users/Cheerazar/repos","events_url":"https://api.github.com/users/Cheerazar/events{/privacy}","received_events_url":"https://api.github.com/users/Cheerazar/received_events","type":"User","site_admin":false},"body":"Does there need to be a colon or something else at the end of this sentence?","created_at":"2015-01-16T02:56:32Z","updated_at":"2015-01-16T02:56:32Z","html_url":"https://github.com/TuxedoJS/TuxedoJS/pull/104#discussion_r23060797","pull_request_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104","_links":{"self":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/23060797"},"html":{"href":"https://github.com/TuxedoJS/TuxedoJS/pull/104#discussion_r23060797"},"pull_request":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104"}}},"pull_request":{"url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104","id":27441970,"html_url":"https://github.com/TuxedoJS/TuxedoJS/pull/104","diff_url":"https://github.com/TuxedoJS/TuxedoJS/pull/104.diff","patch_url":"https://github.com/TuxedoJS/TuxedoJS/pull/104.patch","issue_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/104","number":104,"state":"open","locked":false,"title":"Add TuxActions doc.","user":{"login":"drabinowitz","id":7275304,"avatar_url":"https://avatars.githubusercontent.com/u/7275304?v=3","gravatar_id":"","url":"https://api.github.com/users/drabinowitz","html_url":"https://github.com/drabinowitz","followers_url":"https://api.github.com/users/drabinowitz/followers","following_url":"https://api.github.com/users/drabinowitz/following{/other_user}","gists_url":"https://api.github.com/users/drabinowitz/gists{/gist_id}","starred_url":"https://api.github.com/users/drabinowitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drabinowitz/subscriptions","organizations_url":"https://api.github.com/users/drabinowitz/orgs","repos_url":"https://api.github.com/users/drabinowitz/repos","events_url":"https://api.github.com/users/drabinowitz/events{/privacy}","received_events_url":"https://api.github.com/users/drabinowitz/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-01-15T16:36:48Z","updated_at":"2015-01-16T02:56:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"39a935c8c28c8cbd145e8b1b7510f850966fa752","assignee":{"login":"drabinowitz","id":7275304,"avatar_url":"https://avatars.githubusercontent.com/u/7275304?v=3","gravatar_id":"","url":"https://api.github.com/users/drabinowitz","html_url":"https://github.com/drabinowitz","followers_url":"https://api.github.com/users/drabinowitz/followers","following_url":"https://api.github.com/users/drabinowitz/following{/other_user}","gists_url":"https://api.github.com/users/drabinowitz/gists{/gist_id}","starred_url":"https://api.github.com/users/drabinowitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drabinowitz/subscriptions","organizations_url":"https://api.github.com/users/drabinowitz/orgs","repos_url":"https://api.github.com/users/drabinowitz/repos","events_url":"https://api.github.com/users/drabinowitz/events{/privacy}","received_events_url":"https://api.github.com/users/drabinowitz/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104/commits","review_comments_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104/comments","review_comment_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/{number}","comments_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/104/comments","statuses_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/statuses/9445553027ab42687351c8aa4787cad35f37303b","head":{"label":"drabinowitz:TuxActionsDoc","ref":"TuxActionsDoc","sha":"9445553027ab42687351c8aa4787cad35f37303b","user":{"login":"drabinowitz","id":7275304,"avatar_url":"https://avatars.githubusercontent.com/u/7275304?v=3","gravatar_id":"","url":"https://api.github.com/users/drabinowitz","html_url":"https://github.com/drabinowitz","followers_url":"https://api.github.com/users/drabinowitz/followers","following_url":"https://api.github.com/users/drabinowitz/following{/other_user}","gists_url":"https://api.github.com/users/drabinowitz/gists{/gist_id}","starred_url":"https://api.github.com/users/drabinowitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drabinowitz/subscriptions","organizations_url":"https://api.github.com/users/drabinowitz/orgs","repos_url":"https://api.github.com/users/drabinowitz/repos","events_url":"https://api.github.com/users/drabinowitz/events{/privacy}","received_events_url":"https://api.github.com/users/drabinowitz/received_events","type":"User","site_admin":false},"repo":{"id":28929710,"name":"TuxedoJS","full_name":"drabinowitz/TuxedoJS","owner":{"login":"drabinowitz","id":7275304,"avatar_url":"https://avatars.githubusercontent.com/u/7275304?v=3","gravatar_id":"","url":"https://api.github.com/users/drabinowitz","html_url":"https://github.com/drabinowitz","followers_url":"https://api.github.com/users/drabinowitz/followers","following_url":"https://api.github.com/users/drabinowitz/following{/other_user}","gists_url":"https://api.github.com/users/drabinowitz/gists{/gist_id}","starred_url":"https://api.github.com/users/drabinowitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drabinowitz/subscriptions","organizations_url":"https://api.github.com/users/drabinowitz/orgs","repos_url":"https://api.github.com/users/drabinowitz/repos","events_url":"https://api.github.com/users/drabinowitz/events{/privacy}","received_events_url":"https://api.github.com/users/drabinowitz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/drabinowitz/TuxedoJS","description":"","fork":true,"url":"https://api.github.com/repos/drabinowitz/TuxedoJS","forks_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/forks","keys_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/teams","hooks_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/hooks","issue_events_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/issues/events{/number}","events_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/events","assignees_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/assignees{/user}","branches_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/branches{/branch}","tags_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/tags","blobs_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/git/refs{/sha}","trees_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/statuses/{sha}","languages_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/languages","stargazers_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/stargazers","contributors_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/contributors","subscribers_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/subscribers","subscription_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/subscription","commits_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/commits{/sha}","git_commits_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/git/commits{/sha}","comments_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/comments{/number}","issue_comment_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/issues/comments/{number}","contents_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/contents/{+path}","compare_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/merges","archive_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/downloads","issues_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/issues{/number}","pulls_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/pulls{/number}","milestones_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/milestones{/number}","notifications_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/labels{/name}","releases_url":"https://api.github.com/repos/drabinowitz/TuxedoJS/releases{/id}","created_at":"2015-01-07T19:19:51Z","updated_at":"2015-01-07T19:19:51Z","pushed_at":"2015-01-15T23:53:20Z","git_url":"git://github.com/drabinowitz/TuxedoJS.git","ssh_url":"git@github.com:drabinowitz/TuxedoJS.git","clone_url":"https://github.com/drabinowitz/TuxedoJS.git","svn_url":"https://github.com/drabinowitz/TuxedoJS","homepage":null,"size":417,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","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":"master"}},"base":{"label":"TuxedoJS:master","ref":"master","sha":"b8348570fd13ddf76351ffc67e7070f32de93cad","user":{"login":"TuxedoJS","id":10237217,"avatar_url":"https://avatars.githubusercontent.com/u/10237217?v=3","gravatar_id":"","url":"https://api.github.com/users/TuxedoJS","html_url":"https://github.com/TuxedoJS","followers_url":"https://api.github.com/users/TuxedoJS/followers","following_url":"https://api.github.com/users/TuxedoJS/following{/other_user}","gists_url":"https://api.github.com/users/TuxedoJS/gists{/gist_id}","starred_url":"https://api.github.com/users/TuxedoJS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TuxedoJS/subscriptions","organizations_url":"https://api.github.com/users/TuxedoJS/orgs","repos_url":"https://api.github.com/users/TuxedoJS/repos","events_url":"https://api.github.com/users/TuxedoJS/events{/privacy}","received_events_url":"https://api.github.com/users/TuxedoJS/received_events","type":"Organization","site_admin":false},"repo":{"id":28203450,"name":"TuxedoJS","full_name":"TuxedoJS/TuxedoJS","owner":{"login":"TuxedoJS","id":10237217,"avatar_url":"https://avatars.githubusercontent.com/u/10237217?v=3","gravatar_id":"","url":"https://api.github.com/users/TuxedoJS","html_url":"https://github.com/TuxedoJS","followers_url":"https://api.github.com/users/TuxedoJS/followers","following_url":"https://api.github.com/users/TuxedoJS/following{/other_user}","gists_url":"https://api.github.com/users/TuxedoJS/gists{/gist_id}","starred_url":"https://api.github.com/users/TuxedoJS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TuxedoJS/subscriptions","organizations_url":"https://api.github.com/users/TuxedoJS/orgs","repos_url":"https://api.github.com/users/TuxedoJS/repos","events_url":"https://api.github.com/users/TuxedoJS/events{/privacy}","received_events_url":"https://api.github.com/users/TuxedoJS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/TuxedoJS/TuxedoJS","description":"","fork":false,"url":"https://api.github.com/repos/TuxedoJS/TuxedoJS","forks_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/forks","keys_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/teams","hooks_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/hooks","issue_events_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/events{/number}","events_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/events","assignees_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/assignees{/user}","branches_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/branches{/branch}","tags_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/tags","blobs_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/refs{/sha}","trees_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/statuses/{sha}","languages_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/languages","stargazers_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/stargazers","contributors_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/contributors","subscribers_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/subscribers","subscription_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/subscription","commits_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/commits{/sha}","git_commits_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/commits{/sha}","comments_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/comments{/number}","issue_comment_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/comments/{number}","contents_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/contents/{+path}","compare_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/merges","archive_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/downloads","issues_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues{/number}","pulls_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls{/number}","milestones_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/milestones{/number}","notifications_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/labels{/name}","releases_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/releases{/id}","created_at":"2014-12-18T21:58:57Z","updated_at":"2015-01-16T00:20:27Z","pushed_at":"2015-01-16T00:20:27Z","git_url":"git://github.com/TuxedoJS/TuxedoJS.git","ssh_url":"git@github.com:TuxedoJS/TuxedoJS.git","clone_url":"https://github.com/TuxedoJS/TuxedoJS.git","svn_url":"https://github.com/TuxedoJS/TuxedoJS","homepage":null,"size":965,"stargazers_count":6,"watchers_count":6,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":37,"forks":4,"open_issues":37,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104"},"html":{"href":"https://github.com/TuxedoJS/TuxedoJS/pull/104"},"issue":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/104"},"comments":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/104/comments"},"review_comments":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104/comments"},"review_comment":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/104/commits"},"statuses":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/statuses/9445553027ab42687351c8aa4787cad35f37303b"}}}}