{"action":"created","comment":{"url":"https://api.github.com/repos/refractproject/refract-spec/pulls/comments/25954508","id":25954508,"diff_hunk":"@@ -107,34 +89,511 @@ In addition to expressing Refract Elements as objects with `element`, `attribute\n   - (Compact Element)\n   - array[Compact Element]\n \n+##### Example\n+\n+Below is a Refract element `foo` that is expressed in the normal Refract representation.\n+\n+```json\n+{\n+  \"element\": \"foo\",\n+  \"attributes\": {},\n+  \"content\": \"bar\"\n+}\n+```\n+\n+This is how it would represented in the compact version.\n+\n+```json\n+[\"foo\", {}, \"bar\"]\n+```\n+\n+## Primitive Types\n+\n+Primitive Types extend upon the Refract Element to create elements for the following types:\n+\n+- null\n+- string\n+- number\n+- boolean\n+- array\n+- object\n+\n+A Refract document MUST support each of these element types by default. These types MAY be extended or replaced based on namespaces provided in any root or parent element.\n+\n+### Null Element (Element)\n+\n+A `Null Element` is a type that simply has `null` as its value. It extends upon the `Refract Element` and defines a specific content of `null`.\n+\n+#### Properties\n+- `element`: null (string, fixed)\n+- `content`: null (null, fixed)\n+\n #### Example\n \n-This example will show a JSON object represented as both a normal Refract Element and a Compact Element.\n+In JSON, `null` is represented as `null`.\n+\n+```json\n+null\n+```\n+\n+In Refract, it is represented as a `Null Element` element.\n \n ```json\n {\n-  \"foo\": \"bar\"\n+  \"element\": \"null\",\n+  \"attributes\": {},\n+  \"content\": null\n }\n ```\n \n-##### Refract Element Representation\n+### String Element (Element)\n+\n+A `String Type` allows for string values.\n+\n+#### Properties\n+- `element`: string (string, fixed)\n+- `content` (string, required)\n+\n+#### Examples\n+\n+In JSON, an example of a string is:\n+\n+```json\n+\"foobar\"\n+```\n \n-It can be expressed in the normal Refract element structure.\n+In Refract, this string is expanded to a `String Type`.\n \n ```json\n {\n-  \"element\": \"foo\",\n+  \"element\": \"string\",\n   \"attributes\": {},\n+  \"content\": \"foobar\"\n+}\n+```\n+\n+### Number Element (Element)\n+\n+A `Number Element` allows for values that are numbers.\n+\n+#### Properties\n+- `element`: number (string, fixed)\n+- `content` (number, required)\n+\n+#### Examples\n+\n+In JSON, a number is represented as:\n+\n+```json\n+400\n+```\n+\n+In Refract, this number is expanded to a `Number Element`.\n+\n+```json\n+{\n+  \"element\": \"number\",\n+  \"attributes\": {},\n+  \"content\": 400\n+}\n+```\n+### Boolean Element (Element)\n+\n+A `Boolean Element` allows for values that are JSON boolean.\n+\n+#### Properties\n+- `element`: boolean (string, fixed)\n+- `content` (boolean, required)\n+\n+#### Examples\n+\n+In JSON, an example of a boolean is:\n+\n+```json\n+true\n+```\n+\n+In Refract, this boolean is expanded to a `Boolean Element`.\n+\n+```json\n+{\n+  \"element\": \"boolean\",\n+  \"attributes\": {},\n+  \"content\": true\n+}\n+```\n+\n+### Array Element (Element)\n+\n+An `Array Element` allows for JSON arrays.\n+\n+#### Properties\n+- `element`: array (string, fixed)\n+- `content` (array[Element], required)\n+\n+\n+#### Examples\n+\n+In JSON, an example of an array is:\n+\n+```json\n+[\"foo\", 400, true]\n+```\n+\n+In Refract, this boolean is expanded to a `Boolean Element`.\n+\n+```json\n+{\n+  \"element\": \"array\",\n+  \"attributes\": {},\n+  \"content\": [\n+    {\n+      \"element\": \"string\",\n+      \"attributes\": {},\n+      \"content\": \"foo\"\n+    },\n+    {\n+      \"element\": \"number\",\n+      \"attributes\": {},\n+      \"content\": 400\n+    },\n+    {\n+      \"element\": \"boolean\",\n+      \"attributes\": {},\n+      \"content\": true\n+    }\n+  ]\n+}\n+```\n+\n+### Property Element (Element)\n+\n+A `Property Element` allows for values that MUST be used in `Object Element` elements.\n+\n+#### Properties\n+- `element`: property (string, fixed)\n+- `attributes`\n+    - `name` (string, required) - Name of property\n+- `content` (Element, required) - Any element that extends Element\n+\n+#### Examples\n+\n+To see how this element is used, view the `Object Element` definition.\n+\n+### Object Element (Element)\n+\n+A `Object Element` allows for values that are JSON boolean.\n+\n+#### Properties\n+- `element`: object (string, fixed)\n+- `content` (array[Property Element], required)\n+\n+#### Examples\n+\n+In JSON, an example of an object is:\n+\n+```json\n+{\n+  \"foo\": \"bar\"\n+}\n+```\n+\n+In Refract, this object is expanded to a `Object Element`.\n+\n+```json\n+{\n+  \"element\": \"object\",\n+  \"attributes\": {},\n+  \"content\": [\n+    {\n+      \"element\": \"property\",\n+      \"attributes\": {\n+        \"name\": \"foo\"\n+      },\n+      \"content\": {\n+        \"element\": \"string\",\n+        \"attributes\": {},\n+        \"content\": \"bar\"\n+      }\n+    }\n+  ]\n+}\n+```\n+\n+## Referencing Elements\n+\n+The referencing elements are provided as part of the base specification for the purpose of identifying and referencing elements.\n+\n+### ID (Element)\n+\n+The `id` element is a way to identify an element in a document. IDs MUST be unique throughout a document.\n+\n+#### Properties\n+\n+- `element` id (string, fixed)\n+- `content` (string) - Unique identifier\n+\n+#### Example\n+\n+```json\n+{\n+  \"element\": \"string\",\n+  \"attributes\": {\n+    \"id\": \"foo\"\n+  },\n   \"content\": \"bar\"\n }\n ```\n \n-##### Compact Element Representation\n+### Ref (Element)\n+\n+The `ref` element MAY be used to reference elements in remote documents or elements in the local document.\n+\n+1. If the content is a relative fragment identifier, it references an element found in the local document\n+1. If there is no fragment identifier, the reference is to the entire document.\n+1. If there are multiple elements in a document with the same ID, the first element with the matching value SHOULD be used.\n \n-This is how it would expressed in the compact version.\n+The `ref` element transcludes the contents of the element into the document in which it is referenced.\n+\n+#### Properties\n+\n+- `element` ref (string, fixed)\n+- `content` (string) - A URL or fragment identifier. If the content is an absolute URL with a fragment identifier, the fragment identifer references the ID in the corresponding document.\n+\n+#### Examples\n+\n+Elements MAY be referenced in remove or local documents.\n+\n+##### Referencing Remote Element\n \n ```json\n-[\"foo\", {}, \"bar\"]\n+{\n+  \"element\": \"ref\",\n+  \"content\": \"http://example.com/document#foo\"\n+}\n+```\n+\n+##### Referencing Local Elements\n+\n+```json\n+{\n+  \"element\": \"ref\",\n+  \"content\": \"#foo\"\n+}\n+```\n+\n+## Namespacing\n+\n+Namespaces provide a way to include element definitions and constraints into another document. The following rules and constraints apply to namespaces.\n+\n+1. If there is a conflict, the namespaced element defined or referenced last MUST take precedence\n+1. Types defined within the local namespace MUST take precedence over referenced namespaces\n+1. Prefixed namespaces are only accessible through using a prefix\n+1. Namespaces apply to the element in which they are introduced and all child elements\n+1. Namespaces MUST not include the elements nor the data in the elements referenced, but rather include the constraints and conditions around the types defined within that namespace\n+\n+### Namespaces (Element)\n+\n+The `namespaces` element is a list of Namespace elements.\n+\n+#### Properties\n+\n+- `element` namespaces (string, fixed)\n+- `content` (array[Namespace])\n+\n+### Namespace (enum)\n+\n+#### Members\n+\n+- (string) - A URL to a namespace\n+- (object) - A prefixed namespace\n+    - `prefix` (string) - A prefix for the given namespace\n+    - `href` (string) - A URL to a namespace\n+\n+#### Example Using Both String and Object Namespace Elements\n+\n+This example shows a namespace being included by way of a string, and a prefixed namespace.\n+\n+```json\n+{\n+  \"element\": \"foo\",\n+  \"attributes\": {\n+    \"namespaces\": [\n+      \"http://example.com/namespace1\",\n+      { \"prefix\": \"ns2\", \"href\": \"http://example.com/namespace2\" }\n+    ]\n+  }\n+}\n+```\n+\n+### Prefix (Element)\n+\n+A prefix is a way to reference elements in prefixed namespaces.\n+\n+#### Properties\n+\n+- `element` prefix (string, fixed)\n+- `content` (string) - Prefixed name for given namespace\n+\n+#### Example\n+\n+This example says the `foo` element is found in the prefixed namespaced prefixed as `ns2`.\n+\n+```json\n+{\n+  \"element\": \"foo\",\n+  \"attributes\": {\n+    \"prefix\": \"ns2\"\n+  },\n+  \"content\": \"baz\"\n+}\n+```\n+\n+## Extending Elements\n+\n+Elements by default do not include any of the attributes or content from the element in which they reference. An element MAY be extended in order to inherit from other elements.\n+\n+### Extend (Element)\n+\n+The `extend` element provides a way to a way to multiply inherit one or more elements to form a new element. The `extend` element MUST NOT affect the original elements being extended, and MUST define a new instance of an element.\n+\n+The `extend` element MUST do a deep merge of the elements found in the `content`, but MUST NOT include any IDs from the content elements in the final element. Each element found in the `content` MUST derive from the same primitive element type. The elements are merged from first to last.\n+\n+#### Examples\n+\n+```json\n+{\n+  \"element\": \"extend\",\n+  \"content\": [\n+    {\n+      \"element\": \"foo\",\n+      \"attributes\": {\n+        \"baz\": \"bar\"\n+      },\n+      \"content\": \"first\"\n+    },\n+    {\n+      \"element\": \"foo\",\n+      \"content\": \"second\"\n+    }\n+  ]\n+}\n+```\n+\n+The value for this new element would be the following.\n+\n+```json\n+{\n+  \"element\": \"foo\",\n+  \"attributes\": {\n+    \"baz\": \"bar\"\n+  },\n+  \"content\": \"second\"\n+}\n+```\n+\n+Elements MAY also be referenced when using extend. Here is an element defined and given an ID of `bar`.\n+\n+```json\n+{\n+  \"element\": \"foo\",\n+  \"attributes\": {\n+    \"id\": \"bar\"\n+  },\n+  \"content\": \"second\"\n+}\n+```\n+\n+Here is an extend element referencing the previously `bar` element.\n+\n+```json\n+{\n+  \"element\": \"extend\",\n+  \"content\": [\n+    {\n+      \"element\": \"foo\",\n+      \"content\": \"first\"\n+    },\n+    {\n+      \"element\": \"ref\",\n+      \"content\": \"#bar\"\n+    }\n+  ]\n+}\n+```\n+\n+The resulting element would be the following. Note that the `id` was not included in the final element.\n+\n+```json\n+{\n+  \"element\": \"foo\",\n+  \"content\": \"second\"\n+}\n+```\n+\n+## Creating Element Types\n+\n+Element types MAY be referenced or extended to create new element types. If given an ID, these elements MAY be used within the local namespace or referenced from other namespaces if accessible from a resolvable URL. Element types defined within a namespace take priority over all other namespaced types.\n+\n+Once a type is defined and given an ID, the ID MAY be used as an element.\n+\n+### Type (Element)\n+\n+The Type element MAY be used to define new elements. It takes an element as its content, and MAY have an ID for the purposes of referencing.\n+\n+#### Properties\n+\n+- `element` type (string, fixed)\n+- `content` (Element)\n+\n+#### Example","path":"refract-spec.md","position":548,"original_position":548,"commit_id":"0169b5ee5c1881e19a8ca6bbe3ea3ebb32a60dab","original_commit_id":"0169b5ee5c1881e19a8ca6bbe3ea3ebb32a60dab","user":{"login":"fosrias","id":73336,"avatar_url":"https://avatars.githubusercontent.com/u/73336?v=3","gravatar_id":"","url":"https://api.github.com/users/fosrias","html_url":"https://github.com/fosrias","followers_url":"https://api.github.com/users/fosrias/followers","following_url":"https://api.github.com/users/fosrias/following{/other_user}","gists_url":"https://api.github.com/users/fosrias/gists{/gist_id}","starred_url":"https://api.github.com/users/fosrias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fosrias/subscriptions","organizations_url":"https://api.github.com/users/fosrias/orgs","repos_url":"https://api.github.com/users/fosrias/repos","events_url":"https://api.github.com/users/fosrias/events{/privacy}","received_events_url":"https://api.github.com/users/fosrias/received_events","type":"User","site_admin":false},"body":"I think it my be illuminating to show how the primitives all (at least one or two) inherit from one element contain the attributes properties.","created_at":"2015-03-06T16:03:28Z","updated_at":"2015-03-06T16:03:28Z","html_url":"https://github.com/refractproject/refract-spec/pull/5#discussion_r25954508","pull_request_url":"https://api.github.com/repos/refractproject/refract-spec/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/refractproject/refract-spec/pulls/comments/25954508"},"html":{"href":"https://github.com/refractproject/refract-spec/pull/5#discussion_r25954508"},"pull_request":{"href":"https://api.github.com/repos/refractproject/refract-spec/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/refractproject/refract-spec/pulls/5","id":29872741,"html_url":"https://github.com/refractproject/refract-spec/pull/5","diff_url":"https://github.com/refractproject/refract-spec/pull/5.diff","patch_url":"https://github.com/refractproject/refract-spec/pull/5.patch","issue_url":"https://api.github.com/repos/refractproject/refract-spec/issues/5","number":5,"state":"open","locked":false,"title":"Add referencing, namespaces, and extending into base spec","user":{"login":"smizell","id":130959,"avatar_url":"https://avatars.githubusercontent.com/u/130959?v=3","gravatar_id":"","url":"https://api.github.com/users/smizell","html_url":"https://github.com/smizell","followers_url":"https://api.github.com/users/smizell/followers","following_url":"https://api.github.com/users/smizell/following{/other_user}","gists_url":"https://api.github.com/users/smizell/gists{/gist_id}","starred_url":"https://api.github.com/users/smizell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smizell/subscriptions","organizations_url":"https://api.github.com/users/smizell/orgs","repos_url":"https://api.github.com/users/smizell/repos","events_url":"https://api.github.com/users/smizell/events{/privacy}","received_events_url":"https://api.github.com/users/smizell/received_events","type":"User","site_admin":false},"body":"Adds in referencing (with ID and Ref), namespaces, and extending elements. \r\n\r\n@fosrias @zdne ","created_at":"2015-02-24T05:52:18Z","updated_at":"2015-03-06T16:03:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"188bff5999c2b654ce1fd2aa274882e08c6b51d7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/refractproject/refract-spec/pulls/5/commits","review_comments_url":"https://api.github.com/repos/refractproject/refract-spec/pulls/5/comments","review_comment_url":"https://api.github.com/repos/refractproject/refract-spec/pulls/comments{/number}","comments_url":"https://api.github.com/repos/refractproject/refract-spec/issues/5/comments","statuses_url":"https://api.github.com/repos/refractproject/refract-spec/statuses/0169b5ee5c1881e19a8ca6bbe3ea3ebb32a60dab","head":{"label":"refractproject:smizell/referencing-namespacing-extending","ref":"smizell/referencing-namespacing-extending","sha":"0169b5ee5c1881e19a8ca6bbe3ea3ebb32a60dab","user":{"login":"refractproject","id":10877387,"avatar_url":"https://avatars.githubusercontent.com/u/10877387?v=3","gravatar_id":"","url":"https://api.github.com/users/refractproject","html_url":"https://github.com/refractproject","followers_url":"https://api.github.com/users/refractproject/followers","following_url":"https://api.github.com/users/refractproject/following{/other_user}","gists_url":"https://api.github.com/users/refractproject/gists{/gist_id}","starred_url":"https://api.github.com/users/refractproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/refractproject/subscriptions","organizations_url":"https://api.github.com/users/refractproject/orgs","repos_url":"https://api.github.com/users/refractproject/repos","events_url":"https://api.github.com/users/refractproject/events{/privacy}","received_events_url":"https://api.github.com/users/refractproject/received_events","type":"Organization","site_admin":false},"repo":{"id":30396674,"name":"refract-spec","full_name":"refractproject/refract-spec","owner":{"login":"refractproject","id":10877387,"avatar_url":"https://avatars.githubusercontent.com/u/10877387?v=3","gravatar_id":"","url":"https://api.github.com/users/refractproject","html_url":"https://github.com/refractproject","followers_url":"https://api.github.com/users/refractproject/followers","following_url":"https://api.github.com/users/refractproject/following{/other_user}","gists_url":"https://api.github.com/users/refractproject/gists{/gist_id}","starred_url":"https://api.github.com/users/refractproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/refractproject/subscriptions","organizations_url":"https://api.github.com/users/refractproject/orgs","repos_url":"https://api.github.com/users/refractproject/repos","events_url":"https://api.github.com/users/refractproject/events{/privacy}","received_events_url":"https://api.github.com/users/refractproject/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/refractproject/refract-spec","description":"Specification Repository for Refract","fork":false,"url":"https://api.github.com/repos/refractproject/refract-spec","forks_url":"https://api.github.com/repos/refractproject/refract-spec/forks","keys_url":"https://api.github.com/repos/refractproject/refract-spec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/refractproject/refract-spec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/refractproject/refract-spec/teams","hooks_url":"https://api.github.com/repos/refractproject/refract-spec/hooks","issue_events_url":"https://api.github.com/repos/refractproject/refract-spec/issues/events{/number}","events_url":"https://api.github.com/repos/refractproject/refract-spec/events","assignees_url":"https://api.github.com/repos/refractproject/refract-spec/assignees{/user}","branches_url":"https://api.github.com/repos/refractproject/refract-spec/branches{/branch}","tags_url":"https://api.github.com/repos/refractproject/refract-spec/tags","blobs_url":"https://api.github.com/repos/refractproject/refract-spec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/refractproject/refract-spec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/refractproject/refract-spec/git/refs{/sha}","trees_url":"https://api.github.com/repos/refractproject/refract-spec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/refractproject/refract-spec/statuses/{sha}","languages_url":"https://api.github.com/repos/refractproject/refract-spec/languages","stargazers_url":"https://api.github.com/repos/refractproject/refract-spec/stargazers","contributors_url":"https://api.github.com/repos/refractproject/refract-spec/contributors","subscribers_url":"https://api.github.com/repos/refractproject/refract-spec/subscribers","subscription_url":"https://api.github.com/repos/refractproject/refract-spec/subscription","commits_url":"https://api.github.com/repos/refractproject/refract-spec/commits{/sha}","git_commits_url":"https://api.github.com/repos/refractproject/refract-spec/git/commits{/sha}","comments_url":"https://api.github.com/repos/refractproject/refract-spec/comments{/number}","issue_comment_url":"https://api.github.com/repos/refractproject/refract-spec/issues/comments{/number}","contents_url":"https://api.github.com/repos/refractproject/refract-spec/contents/{+path}","compare_url":"https://api.github.com/repos/refractproject/refract-spec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/refractproject/refract-spec/merges","archive_url":"https://api.github.com/repos/refractproject/refract-spec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/refractproject/refract-spec/downloads","issues_url":"https://api.github.com/repos/refractproject/refract-spec/issues{/number}","pulls_url":"https://api.github.com/repos/refractproject/refract-spec/pulls{/number}","milestones_url":"https://api.github.com/repos/refractproject/refract-spec/milestones{/number}","notifications_url":"https://api.github.com/repos/refractproject/refract-spec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/refractproject/refract-spec/labels{/name}","releases_url":"https://api.github.com/repos/refractproject/refract-spec/releases{/id}","created_at":"2015-02-06T05:26:21Z","updated_at":"2015-02-06T13:57:01Z","pushed_at":"2015-03-06T15:45:07Z","git_url":"git://github.com/refractproject/refract-spec.git","ssh_url":"git@github.com:refractproject/refract-spec.git","clone_url":"https://github.com/refractproject/refract-spec.git","svn_url":"https://github.com/refractproject/refract-spec","homepage":null,"size":288,"stargazers_count":2,"watchers_count":2,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":4,"forks":0,"open_issues":4,"watchers":2,"default_branch":"master"}},"base":{"label":"refractproject:master","ref":"master","sha":"f94e76a2ccd83019782ec40519b93f9544934dae","user":{"login":"refractproject","id":10877387,"avatar_url":"https://avatars.githubusercontent.com/u/10877387?v=3","gravatar_id":"","url":"https://api.github.com/users/refractproject","html_url":"https://github.com/refractproject","followers_url":"https://api.github.com/users/refractproject/followers","following_url":"https://api.github.com/users/refractproject/following{/other_user}","gists_url":"https://api.github.com/users/refractproject/gists{/gist_id}","starred_url":"https://api.github.com/users/refractproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/refractproject/subscriptions","organizations_url":"https://api.github.com/users/refractproject/orgs","repos_url":"https://api.github.com/users/refractproject/repos","events_url":"https://api.github.com/users/refractproject/events{/privacy}","received_events_url":"https://api.github.com/users/refractproject/received_events","type":"Organization","site_admin":false},"repo":{"id":30396674,"name":"refract-spec","full_name":"refractproject/refract-spec","owner":{"login":"refractproject","id":10877387,"avatar_url":"https://avatars.githubusercontent.com/u/10877387?v=3","gravatar_id":"","url":"https://api.github.com/users/refractproject","html_url":"https://github.com/refractproject","followers_url":"https://api.github.com/users/refractproject/followers","following_url":"https://api.github.com/users/refractproject/following{/other_user}","gists_url":"https://api.github.com/users/refractproject/gists{/gist_id}","starred_url":"https://api.github.com/users/refractproject/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/refractproject/subscriptions","organizations_url":"https://api.github.com/users/refractproject/orgs","repos_url":"https://api.github.com/users/refractproject/repos","events_url":"https://api.github.com/users/refractproject/events{/privacy}","received_events_url":"https://api.github.com/users/refractproject/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/refractproject/refract-spec","description":"Specification Repository for Refract","fork":false,"url":"https://api.github.com/repos/refractproject/refract-spec","forks_url":"https://api.github.com/repos/refractproject/refract-spec/forks","keys_url":"https://api.github.com/repos/refractproject/refract-spec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/refractproject/refract-spec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/refractproject/refract-spec/teams","hooks_url":"https://api.github.com/repos/refractproject/refract-spec/hooks","issue_events_url":"https://api.github.com/repos/refractproject/refract-spec/issues/events{/number}","events_url":"https://api.github.com/repos/refractproject/refract-spec/events","assignees_url":"https://api.github.com/repos/refractproject/refract-spec/assignees{/user}","branches_url":"https://api.github.com/repos/refractproject/refract-spec/branches{/branch}","tags_url":"https://api.github.com/repos/refractproject/refract-spec/tags","blobs_url":"https://api.github.com/repos/refractproject/refract-spec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/refractproject/refract-spec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/refractproject/refract-spec/git/refs{/sha}","trees_url":"https://api.github.com/repos/refractproject/refract-spec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/refractproject/refract-spec/statuses/{sha}","languages_url":"https://api.github.com/repos/refractproject/refract-spec/languages","stargazers_url":"https://api.github.com/repos/refractproject/refract-spec/stargazers","contributors_url":"https://api.github.com/repos/refractproject/refract-spec/contributors","subscribers_url":"https://api.github.com/repos/refractproject/refract-spec/subscribers","subscription_url":"https://api.github.com/repos/refractproject/refract-spec/subscription","commits_url":"https://api.github.com/repos/refractproject/refract-spec/commits{/sha}","git_commits_url":"https://api.github.com/repos/refractproject/refract-spec/git/commits{/sha}","comments_url":"https://api.github.com/repos/refractproject/refract-spec/comments{/number}","issue_comment_url":"https://api.github.com/repos/refractproject/refract-spec/issues/comments{/number}","contents_url":"https://api.github.com/repos/refractproject/refract-spec/contents/{+path}","compare_url":"https://api.github.com/repos/refractproject/refract-spec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/refractproject/refract-spec/merges","archive_url":"https://api.github.com/repos/refractproject/refract-spec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/refractproject/refract-spec/downloads","issues_url":"https://api.github.com/repos/refractproject/refract-spec/issues{/number}","pulls_url":"https://api.github.com/repos/refractproject/refract-spec/pulls{/number}","milestones_url":"https://api.github.com/repos/refractproject/refract-spec/milestones{/number}","notifications_url":"https://api.github.com/repos/refractproject/refract-spec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/refractproject/refract-spec/labels{/name}","releases_url":"https://api.github.com/repos/refractproject/refract-spec/releases{/id}","created_at":"2015-02-06T05:26:21Z","updated_at":"2015-02-06T13:57:01Z","pushed_at":"2015-03-06T15:45:07Z","git_url":"git://github.com/refractproject/refract-spec.git","ssh_url":"git@github.com:refractproject/refract-spec.git","clone_url":"https://github.com/refractproject/refract-spec.git","svn_url":"https://github.com/refractproject/refract-spec","homepage":null,"size":288,"stargazers_count":2,"watchers_count":2,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":4,"forks":0,"open_issues":4,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/refractproject/refract-spec/pulls/5"},"html":{"href":"https://github.com/refractproject/refract-spec/pull/5"},"issue":{"href":"https://api.github.com/repos/refractproject/refract-spec/issues/5"},"comments":{"href":"https://api.github.com/repos/refractproject/refract-spec/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/refractproject/refract-spec/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/refractproject/refract-spec/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/refractproject/refract-spec/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/refractproject/refract-spec/statuses/0169b5ee5c1881e19a8ca6bbe3ea3ebb32a60dab"}}}}