{"action":"created","comment":{"url":"https://api.github.com/repos/palantir/plottable/pulls/comments/37840290","id":37840290,"diff_hunk":"@@ -0,0 +1,304 @@\n+///<reference path=\"../testReference.ts\" />\n+\n+describe(\"Plots\", () => {\n+  describe(\"WheelPlot\", () => {\n+    describe(\"basic usage\", () => {\n+      let SVG_WIDTH = 400;\n+      let SVG_HEIGHT = 500;\n+      let svg: d3.Selection<void>;\n+      let wheelPlot: Plottable.Plots.Wheel<number, number>;\n+      let rScale: Plottable.Scales.Linear;\n+      let tScale: Plottable.Scales.Linear;\n+\n+      beforeEach(() => {\n+        svg = TestMethods.generateSVG(SVG_WIDTH, SVG_HEIGHT);\n+        rScale = new Plottable.Scales.Linear();\n+        tScale = new Plottable.Scales.Linear();\n+        tScale.domain([0, 360]);\n+        wheelPlot = new Plottable.Plots.Wheel();\n+        wheelPlot.innerRadius((d) => d.r1, rScale);\n+        wheelPlot.outerRadius((d) => d.r2, rScale);\n+        wheelPlot.startAngle((d) => d.t1, tScale);\n+        wheelPlot.endAngle((d) => d.t2, tScale);\n+      });\n+\n+      it(\"renders correctly with no data\", () => {\n+        assert.doesNotThrow(() => wheelPlot.renderTo(svg), Error);\n+        assert.strictEqual(wheelPlot.width(), SVG_WIDTH, \"plot has been allocated width\");\n+        assert.strictEqual(wheelPlot.height(), SVG_HEIGHT, \"plot has been allocated height\");\n+\n+        svg.remove();\n+      });\n+\n+      it(\"the accessors properly access data, index and Dataset\", () => {\n+        let data = [\n+          {r1: 0, r2: 1, t1: 0, t2: 180 },\n+          {r1: 1, r2: 2, t1: 180, t2: 360 }];\n+        let dataset = new Plottable.Dataset(data);\n+        wheelPlot.addDataset(dataset);\n+        wheelPlot.renderTo(svg);\n+\n+        let slices = wheelPlot.selections();\n+        let path1 = d3.select(slices[0][0]).attr(\"d\");\n+        let path2 = d3.select(slices[0][1]).attr(\"d\");\n+\n+        let arc1 = d3.svg.arc().innerRadius(rScale.scale(0)).outerRadius(rScale.scale(1))\n+                               .startAngle(tScale.scale(0)).endAngle(tScale.scale(180));\n+        let arc1Path = (<any> arc1)();\n+\n+        let arc2 = d3.svg.arc().innerRadius(rScale.scale(1)).outerRadius(rScale.scale(2))\n+                               .startAngle(tScale.scale(180)).endAngle(tScale.scale(360));\n+        let arc2Path = (<any> arc2)();\n+        TestMethods.assertAreaPathCloseTo(path1, arc1Path, 0.1, \"arc is drawn as represented by data\");\n+        TestMethods.assertAreaPathCloseTo(path2, arc2Path, 0.1, \"arc is drawn as represented by data\");\n+\n+        svg.remove();\n+      });\n+\n+      it(\"updates slices when data changes\", () => {\n+        let data = [\n+          {r1: 0, r2: 1, t1: 0, t2: 180 },\n+          {r1: 1, r2: 2, t1: 180, t2: 360 }];\n+        let dataset = new Plottable.Dataset(data);\n+        wheelPlot.addDataset(dataset);\n+        wheelPlot.renderTo(svg);\n+\n+        assert.strictEqual(wheelPlot.content().selectAll(\"path\").size(), 2, \"there are 2 sectors for 2 data entries\");\n+\n+        data = [{r1: 2, r2: 3, t1: 0, t2: 120 }];\n+        dataset.data(data);\n+        assert.strictEqual(wheelPlot.content().selectAll(\"path\").size(), 1, \"there are 2 sectors for 1 data entry\");\n+\n+        svg.remove();\n+      });\n+\n+      it(\"computes correct layout\", () => {\n+        wheelPlot.renderTo(svg);\n+\n+        let renderArea = (<any> wheelPlot)._renderArea;\n+        let transform = d3.transform(renderArea.attr(\"transform\")).translate;\n+        assert.closeTo(transform[0], SVG_WIDTH / 2, 0.01, \"origin is set to the middle of the svg\");\n+        assert.closeTo(transform[1], SVG_HEIGHT / 2, 0.01, \"origin is set to the middle of the svg\");\n+        let radiusLimit = Math.min(SVG_WIDTH, SVG_HEIGHT) / 2;\n+        assert.deepEqual(rScale.range(), [0, radiusLimit] , \"the radius scale range is set properly\");\n+\n+        svg.remove();\n+      });\n+\n+      it(\"undefined, NaN and non-numeric strings not be represented in a Pie Chart\", () => {\n+        let data = [\n+          { r1: 0, r2: 1, t1: 0, t2: 180 },\n+          { r1: undefined, r2: 2, t1: 180, t2: 360 },\n+          { r1: NaN, r2: 2, t1: 180, t2: 360 },\n+          { r1: \"Bad String\", r2: 2, t1: 180, t2: 360 },\n+          { r1: 1, r2: undefined, t1: 180, t2: 360 },\n+          { r1: 1, r2: NaN, t1: 180, t2: 360 },\n+          { r1: 1, r2: \"Bad String\", t1: 180, t2: 360 },\n+          { r1: 1, r2: 2, t1: 180, t2: 360 },\n+          { r1: 1, r2: 2, t1: undefined, t2: 360 },\n+          { r1: 1, r2: 2, t1: NaN, t2: 360 },\n+          { r1: 1, r2: 2, t1: \"Bad String\", t2: 360 },\n+          { r1: 1, r2: 2, t1: 180, t2: undefined },\n+          { r1: 1, r2: 2, t1: 180, t2: NaN },\n+          { r1: 1, r2: 2, t1: 180, t2: \"Bad String\" },\n+          { r1: 2, r2: 3, t1: 90, t2: 180 }\n+        ];\n+\n+        let dataset = new Plottable.Dataset(data);\n+        wheelPlot.addDataset(dataset);\n+        wheelPlot.renderTo(svg);\n+\n+        let elementsDrawn = (<any> wheelPlot)._element.selectAll(\".arc\");\n+\n+        assert.strictEqual(elementsDrawn.size(), 3,\n+          \"There should be exactly 3 sectors in the wheel chart, representing the valid values\");\n+\n+        assert.lengthOf(wheelPlot.entities(), 3,\n+          \"There should be exactly 3 entities in the wheel chart, representing the valid values\");\n+\n+        svg.remove();\n+      });\n+    });\n+\n+    describe(\"innerRadius and outerRadius\", () => {\n+      let SVG_WIDTH = 400;\n+      let SVG_HEIGHT = 500;\n+      let svg: d3.Selection<void>;\n+      let wheelPlot: Plottable.Plots.Wheel<number, number>;\n+      let rScale: Plottable.Scales.Linear;\n+      let tScale: Plottable.Scales.Linear;\n+      let data: [any];\n+      let dataset: Plottable.Dataset;\n+\n+      beforeEach(() => {\n+        svg = TestMethods.generateSVG(SVG_WIDTH, SVG_HEIGHT);\n+        rScale = new Plottable.Scales.Linear();\n+        tScale = new Plottable.Scales.Linear();\n+        tScale.domain([0, 360]);\n+        wheelPlot = new Plottable.Plots.Wheel();\n+        wheelPlot.startAngle((d) => d.t1, tScale);\n+        wheelPlot.endAngle((d) => d.t2, tScale);\n+        data = [\n+          {r1: 0, r2: 1, t1: 0, t2: 180 },\n+          {r1: 1, r2: 2, t1: 180, t2: 360 }];\n+        dataset = new Plottable.Dataset(data);\n+        wheelPlot.addDataset(dataset);\n+      });\n+\n+      it(\"can set and get innerRadius\", () => {\n+        wheelPlot.outerRadius((d) => d.r2, rScale);\n+        assert.isUndefined(wheelPlot.innerRadius(), \"innerRadius is initiized to undefined\");\n+\n+        wheelPlot.innerRadius(0);\n+        wheelPlot.renderTo(svg);\n+        let constInnerRadiusAccessor = (<any> Plottable.Plot)._scaledAccessor(wheelPlot.innerRadius());\n+        assert.strictEqual(constInnerRadiusAccessor(data[0], 0, dataset), 0, \"access innerRadius that is set to a constant\");\n+        assert.strictEqual(constInnerRadiusAccessor(data[1], 1, dataset), 0, \"access innerRadius that is set to a constant\");\n+\n+        wheelPlot.innerRadius((d: any) => d.r1);\n+        let innerRadiusAccessor = (<any> Plottable.Plot)._scaledAccessor(wheelPlot.innerRadius());\n+        assert.strictEqual(innerRadiusAccessor(data[0], 0, dataset), 0, \"access innerRadius correctly without a scale\");\n+        assert.strictEqual(innerRadiusAccessor(data[1], 1, dataset), 1, \"access innerRadius correctly without a scale\");\n+\n+        wheelPlot.innerRadius((d: any) => d.r1, rScale);\n+        let scaledInnerRadiusAccessor = (<any> Plottable.Plot)._scaledAccessor(wheelPlot.innerRadius());\n+        assert.strictEqual(scaledInnerRadiusAccessor(data[0], 0, dataset), rScale.scale(0), \"access innerRadius correctly with a scale\");\n+        assert.strictEqual(scaledInnerRadiusAccessor(data[1], 1, dataset), rScale.scale(1), \"access innerRadius correctly with a scale\");\n+\n+        svg.remove();\n+      });\n+\n+      it(\"can set and get outerRadius\", () => {\n+        wheelPlot.innerRadius((d) => d.r1, rScale);\n+        assert.isUndefined(wheelPlot.outerRadius(), \"outerRadius is initiized to undefined\");\n+\n+        wheelPlot.outerRadius(0);\n+        wheelPlot.renderTo(svg);\n+        let constEndAngleAccessor = (<any> Plottable.Plot)._scaledAccessor(wheelPlot.outerRadius());","path":"test/plots/wheelPlotTests.ts","position":177,"original_position":177,"commit_id":"bfc23b564912df18abc05a81452728119ce30db5","original_commit_id":"bfc23b564912df18abc05a81452728119ce30db5","user":{"login":"jtlan","id":1440449,"avatar_url":"https://avatars.githubusercontent.com/u/1440449?v=3","gravatar_id":"","url":"https://api.github.com/users/jtlan","html_url":"https://github.com/jtlan","followers_url":"https://api.github.com/users/jtlan/followers","following_url":"https://api.github.com/users/jtlan/following{/other_user}","gists_url":"https://api.github.com/users/jtlan/gists{/gist_id}","starred_url":"https://api.github.com/users/jtlan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtlan/subscriptions","organizations_url":"https://api.github.com/users/jtlan/orgs","repos_url":"https://api.github.com/users/jtlan/repos","events_url":"https://api.github.com/users/jtlan/events{/privacy}","received_events_url":"https://api.github.com/users/jtlan/received_events","type":"User","site_admin":false},"body":"Same feedback here about checking the return value.","created_at":"2015-08-25T07:41:27Z","updated_at":"2015-08-25T07:41:27Z","html_url":"https://github.com/palantir/plottable/pull/2672#discussion_r37840290","pull_request_url":"https://api.github.com/repos/palantir/plottable/pulls/2672","_links":{"self":{"href":"https://api.github.com/repos/palantir/plottable/pulls/comments/37840290"},"html":{"href":"https://github.com/palantir/plottable/pull/2672#discussion_r37840290"},"pull_request":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2672"}}},"pull_request":{"url":"https://api.github.com/repos/palantir/plottable/pulls/2672","id":43230786,"html_url":"https://github.com/palantir/plottable/pull/2672","diff_url":"https://github.com/palantir/plottable/pull/2672.diff","patch_url":"https://github.com/palantir/plottable/pull/2672.patch","issue_url":"https://api.github.com/repos/palantir/plottable/issues/2672","number":2672,"state":"open","locked":false,"title":"add wheel plot","user":{"login":"ztsai","id":1817638,"avatar_url":"https://avatars.githubusercontent.com/u/1817638?v=3","gravatar_id":"","url":"https://api.github.com/users/ztsai","html_url":"https://github.com/ztsai","followers_url":"https://api.github.com/users/ztsai/followers","following_url":"https://api.github.com/users/ztsai/following{/other_user}","gists_url":"https://api.github.com/users/ztsai/gists{/gist_id}","starred_url":"https://api.github.com/users/ztsai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ztsai/subscriptions","organizations_url":"https://api.github.com/users/ztsai/orgs","repos_url":"https://api.github.com/users/ztsai/repos","events_url":"https://api.github.com/users/ztsai/events{/privacy}","received_events_url":"https://api.github.com/users/ztsai/received_events","type":"User","site_admin":false},"body":"part of #2612  (broke the task down to 4 steps)\r\ndemo: http://jsfiddle.net/ztsai/huzsoxpj/ http://jsfiddle.net/ztsai/huzsoxpj/4/\r\n\r\nA sector is defined by `startAngle`, `endAngle`, `innerRadius`, and `outerRadius`:\r\n\r\n```startAngle<T>(startAngle?: number | Accessor<number> | T | Accessor<T>, scale?: Scale<T, number>)```\r\n```endAngle<T>(endAngle?: number | Accessor<number> | T | Accessor<T>, scale?: Scale<T, number>)```\r\n```innerRadius<R>(innerRadius?: number | Accessor<number> | R | Accessor<R>, scale?: Scale<R, number>)```\r\n```outerRadius<R>(outerRadius?: number | Accessor<number> | R | Accessor<R>, scale?: Scale<R, number>)```","created_at":"2015-08-24T22:41:26Z","updated_at":"2015-08-25T07:41:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"484649f6880a6229e5fbd8188b87d2f6fa8076be","assignee":{"login":"jtlan","id":1440449,"avatar_url":"https://avatars.githubusercontent.com/u/1440449?v=3","gravatar_id":"","url":"https://api.github.com/users/jtlan","html_url":"https://github.com/jtlan","followers_url":"https://api.github.com/users/jtlan/followers","following_url":"https://api.github.com/users/jtlan/following{/other_user}","gists_url":"https://api.github.com/users/jtlan/gists{/gist_id}","starred_url":"https://api.github.com/users/jtlan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jtlan/subscriptions","organizations_url":"https://api.github.com/users/jtlan/orgs","repos_url":"https://api.github.com/users/jtlan/repos","events_url":"https://api.github.com/users/jtlan/events{/privacy}","received_events_url":"https://api.github.com/users/jtlan/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/palantir/plottable/milestones/48","html_url":"https://github.com/palantir/plottable/milestones/v1.9.0","labels_url":"https://api.github.com/repos/palantir/plottable/milestones/48/labels","id":1258915,"number":48,"title":"v1.9.0","description":"","creator":{"login":"christinaforney","id":1559622,"avatar_url":"https://avatars.githubusercontent.com/u/1559622?v=3","gravatar_id":"","url":"https://api.github.com/users/christinaforney","html_url":"https://github.com/christinaforney","followers_url":"https://api.github.com/users/christinaforney/followers","following_url":"https://api.github.com/users/christinaforney/following{/other_user}","gists_url":"https://api.github.com/users/christinaforney/gists{/gist_id}","starred_url":"https://api.github.com/users/christinaforney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christinaforney/subscriptions","organizations_url":"https://api.github.com/users/christinaforney/orgs","repos_url":"https://api.github.com/users/christinaforney/repos","events_url":"https://api.github.com/users/christinaforney/events{/privacy}","received_events_url":"https://api.github.com/users/christinaforney/received_events","type":"User","site_admin":false},"open_issues":25,"closed_issues":1,"state":"open","created_at":"2015-08-17T18:49:20Z","updated_at":"2015-08-25T03:43:28Z","due_on":"2015-08-28T04:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/palantir/plottable/pulls/2672/commits","review_comments_url":"https://api.github.com/repos/palantir/plottable/pulls/2672/comments","review_comment_url":"https://api.github.com/repos/palantir/plottable/pulls/comments{/number}","comments_url":"https://api.github.com/repos/palantir/plottable/issues/2672/comments","statuses_url":"https://api.github.com/repos/palantir/plottable/statuses/bfc23b564912df18abc05a81452728119ce30db5","head":{"label":"palantir:2612fr","ref":"2612fr","sha":"bfc23b564912df18abc05a81452728119ce30db5","user":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"repo":{"id":16149854,"name":"plottable","full_name":"palantir/plottable","owner":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/palantir/plottable","description":"A library of modular chart components, built on D3","fork":false,"url":"https://api.github.com/repos/palantir/plottable","forks_url":"https://api.github.com/repos/palantir/plottable/forks","keys_url":"https://api.github.com/repos/palantir/plottable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palantir/plottable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palantir/plottable/teams","hooks_url":"https://api.github.com/repos/palantir/plottable/hooks","issue_events_url":"https://api.github.com/repos/palantir/plottable/issues/events{/number}","events_url":"https://api.github.com/repos/palantir/plottable/events","assignees_url":"https://api.github.com/repos/palantir/plottable/assignees{/user}","branches_url":"https://api.github.com/repos/palantir/plottable/branches{/branch}","tags_url":"https://api.github.com/repos/palantir/plottable/tags","blobs_url":"https://api.github.com/repos/palantir/plottable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palantir/plottable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palantir/plottable/git/refs{/sha}","trees_url":"https://api.github.com/repos/palantir/plottable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palantir/plottable/statuses/{sha}","languages_url":"https://api.github.com/repos/palantir/plottable/languages","stargazers_url":"https://api.github.com/repos/palantir/plottable/stargazers","contributors_url":"https://api.github.com/repos/palantir/plottable/contributors","subscribers_url":"https://api.github.com/repos/palantir/plottable/subscribers","subscription_url":"https://api.github.com/repos/palantir/plottable/subscription","commits_url":"https://api.github.com/repos/palantir/plottable/commits{/sha}","git_commits_url":"https://api.github.com/repos/palantir/plottable/git/commits{/sha}","comments_url":"https://api.github.com/repos/palantir/plottable/comments{/number}","issue_comment_url":"https://api.github.com/repos/palantir/plottable/issues/comments{/number}","contents_url":"https://api.github.com/repos/palantir/plottable/contents/{+path}","compare_url":"https://api.github.com/repos/palantir/plottable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palantir/plottable/merges","archive_url":"https://api.github.com/repos/palantir/plottable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palantir/plottable/downloads","issues_url":"https://api.github.com/repos/palantir/plottable/issues{/number}","pulls_url":"https://api.github.com/repos/palantir/plottable/pulls{/number}","milestones_url":"https://api.github.com/repos/palantir/plottable/milestones{/number}","notifications_url":"https://api.github.com/repos/palantir/plottable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palantir/plottable/labels{/name}","releases_url":"https://api.github.com/repos/palantir/plottable/releases{/id}","created_at":"2014-01-22T19:29:19Z","updated_at":"2015-08-24T16:53:20Z","pushed_at":"2015-08-25T03:26:23Z","git_url":"git://github.com/palantir/plottable.git","ssh_url":"git@github.com:palantir/plottable.git","clone_url":"https://github.com/palantir/plottable.git","svn_url":"https://github.com/palantir/plottable","homepage":"plottablejs.org","size":133857,"stargazers_count":679,"watchers_count":679,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":68,"mirror_url":null,"open_issues_count":179,"forks":68,"open_issues":179,"watchers":679,"default_branch":"develop"}},"base":{"label":"palantir:develop","ref":"develop","sha":"9f20c41f15fc49460f33b9fe1eb34906ad7e721d","user":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"repo":{"id":16149854,"name":"plottable","full_name":"palantir/plottable","owner":{"login":"palantir","id":303157,"avatar_url":"https://avatars.githubusercontent.com/u/303157?v=3","gravatar_id":"","url":"https://api.github.com/users/palantir","html_url":"https://github.com/palantir","followers_url":"https://api.github.com/users/palantir/followers","following_url":"https://api.github.com/users/palantir/following{/other_user}","gists_url":"https://api.github.com/users/palantir/gists{/gist_id}","starred_url":"https://api.github.com/users/palantir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palantir/subscriptions","organizations_url":"https://api.github.com/users/palantir/orgs","repos_url":"https://api.github.com/users/palantir/repos","events_url":"https://api.github.com/users/palantir/events{/privacy}","received_events_url":"https://api.github.com/users/palantir/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/palantir/plottable","description":"A library of modular chart components, built on D3","fork":false,"url":"https://api.github.com/repos/palantir/plottable","forks_url":"https://api.github.com/repos/palantir/plottable/forks","keys_url":"https://api.github.com/repos/palantir/plottable/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palantir/plottable/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palantir/plottable/teams","hooks_url":"https://api.github.com/repos/palantir/plottable/hooks","issue_events_url":"https://api.github.com/repos/palantir/plottable/issues/events{/number}","events_url":"https://api.github.com/repos/palantir/plottable/events","assignees_url":"https://api.github.com/repos/palantir/plottable/assignees{/user}","branches_url":"https://api.github.com/repos/palantir/plottable/branches{/branch}","tags_url":"https://api.github.com/repos/palantir/plottable/tags","blobs_url":"https://api.github.com/repos/palantir/plottable/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palantir/plottable/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palantir/plottable/git/refs{/sha}","trees_url":"https://api.github.com/repos/palantir/plottable/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palantir/plottable/statuses/{sha}","languages_url":"https://api.github.com/repos/palantir/plottable/languages","stargazers_url":"https://api.github.com/repos/palantir/plottable/stargazers","contributors_url":"https://api.github.com/repos/palantir/plottable/contributors","subscribers_url":"https://api.github.com/repos/palantir/plottable/subscribers","subscription_url":"https://api.github.com/repos/palantir/plottable/subscription","commits_url":"https://api.github.com/repos/palantir/plottable/commits{/sha}","git_commits_url":"https://api.github.com/repos/palantir/plottable/git/commits{/sha}","comments_url":"https://api.github.com/repos/palantir/plottable/comments{/number}","issue_comment_url":"https://api.github.com/repos/palantir/plottable/issues/comments{/number}","contents_url":"https://api.github.com/repos/palantir/plottable/contents/{+path}","compare_url":"https://api.github.com/repos/palantir/plottable/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palantir/plottable/merges","archive_url":"https://api.github.com/repos/palantir/plottable/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palantir/plottable/downloads","issues_url":"https://api.github.com/repos/palantir/plottable/issues{/number}","pulls_url":"https://api.github.com/repos/palantir/plottable/pulls{/number}","milestones_url":"https://api.github.com/repos/palantir/plottable/milestones{/number}","notifications_url":"https://api.github.com/repos/palantir/plottable/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palantir/plottable/labels{/name}","releases_url":"https://api.github.com/repos/palantir/plottable/releases{/id}","created_at":"2014-01-22T19:29:19Z","updated_at":"2015-08-24T16:53:20Z","pushed_at":"2015-08-25T03:26:23Z","git_url":"git://github.com/palantir/plottable.git","ssh_url":"git@github.com:palantir/plottable.git","clone_url":"https://github.com/palantir/plottable.git","svn_url":"https://github.com/palantir/plottable","homepage":"plottablejs.org","size":133857,"stargazers_count":679,"watchers_count":679,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":68,"mirror_url":null,"open_issues_count":179,"forks":68,"open_issues":179,"watchers":679,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2672"},"html":{"href":"https://github.com/palantir/plottable/pull/2672"},"issue":{"href":"https://api.github.com/repos/palantir/plottable/issues/2672"},"comments":{"href":"https://api.github.com/repos/palantir/plottable/issues/2672/comments"},"review_comments":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2672/comments"},"review_comment":{"href":"https://api.github.com/repos/palantir/plottable/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/palantir/plottable/pulls/2672/commits"},"statuses":{"href":"https://api.github.com/repos/palantir/plottable/statuses/bfc23b564912df18abc05a81452728119ce30db5"}}}}