{"action":"created","comment":{"url":"https://api.github.com/repos/MediaMath/strand/pulls/comments/32580677","id":32580677,"diff_hunk":"@@ -4,213 +4,237 @@\n  * This code may only be used under the BSD style license found at http://mediamath.github.io/strand/LICENSE.txt\n \n */\n-Polymer('mm-input', {\n-\tver:\"<<version>>\",\n-\t//defaults\n-\tSTATE_OPENED: \"opened\",\n-\tSTATE_CLOSED: \"closed\",\n-\tPRIMARY_ICON_COLOR: Colors.A18,\n-\tPADDING_ICON: 25,\n-\n-\tsearchItems:[],\n-\tstate: \"closed\",\n-\tplaceholder:\"\",\n-\tvalidation:\"none\",\n-\toverflow: \"hidden\", // default width takes precedence\n-\ttype: \"text\", // input default type\n-\ticon: \"search\", // default icon type \n-\tsearch: false,\n-\tclear: false,\n-\terror: false,\n-\tautoItemSelected: false,\n-\tautocomplete: false,\n-\tpaddingRight: 10,\n-\n-\tpublish: {\n-\t\tvalue: { value: \"\", reflect: true },\n-\t\tdisabled: { value: false, reflect: true },\n-\t\tfitparent: { value: false, reflect: true },\n-\t\tlayout: { value: null, reflect: true },\n-\t\tdata: []\n-\t},\n-\n-\tready: function() {\n-\t\tthis.email = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n-\t\tthis.alpha = /^\\w+$/;\n-\t\tthis.inter = /^\\d+$/;\n-\t\tthis.floater = /^\\d*[.]\\d+$/;\n-\t},\n-\n-\tdataChanged: function(oldData, newData) {\n-\t\tif (typeof newData === \"string\") {\n-\t\t\ttry {\n-\t\t\t\tthis.data = JSON.parse(newData);\n-\t\t\t} catch(e) {\n-\t\t\t\tthis.data = newData;\n+(function (scope) {\n+\n+\tscope.Input = Polymer({\n+\t\tis: 'mm-input',\n+\n+\t\tbehaviors: [\n+\t\t\tStrandTraits.Stylable\n+\t\t],\n+\n+\t\tproperties: {\n+\t\t\tver: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: \"<<version>>\",\n+\t\t\t},\n+\t\t\tPRIMARY_ICON_COLOR: {\n+\t\t\t\ttype:String, \n+\t\t\t\tvalue: Colors.A18 \n+\t\t\t},\n+\t\t\tSTATE_OPENED: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: \"opened\"\n+\t\t\t},\n+\t\t\tSTATE_CLOSED: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: \"closed\"\n+\t\t\t},\n+\t\t\tPADDING_RIGHT_ICON: {\n+\t\t\t\ttype: Number,\n+\t\t\t\tvalue: 25\n+\t\t\t},\n+\t\t\tPADDING_RIGHT_DEFAULT: {\n+\t\t\t\ttype: Number,\n+\t\t\t\tvalue: 10\n+\t\t\t},\n+\t\t\tstate: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: \"closed\",\n+\t\t\t},\n+\t\t\tplaceholder: {\n+\t\t\t\ttpye: String,\n+\t\t\t\treflectToAttribute: true\n+\t\t\t},\n+\t\t\tvalidation: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: false,\n+\t\t\t\treflectToAttribute: true\n+\t\t\t},\n+\t\t\ttype: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: \"text\",\n+\t\t\t\treflectToAttribute: true,\n+\t\t\t\tobserver: \"_typeChanged\"\n+\t\t\t},\n+\t\t\ticon: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: false,\n+\t\t\t\treflectToAttribute: true,\n+\t\t\t\tobserver: \"_iconChanged\"\n+\t\t\t},\n+\t\t\tsearch: {\n+\t\t\t\ttype: Boolean,\n+\t\t\t\tvalue: false,\n+\t\t\t\treflectToAttribute: true,\n+\t\t\t\tobserver: \"_searchChanged\"\n+\t\t\t},\n+\t\t\tclear: {\n+\t\t\t\ttype: Boolean,\n+\t\t\t\tvalue: false,\n+\t\t\t\treflectToAttribute: true\n+\t\t\t},\n+\t\t\terror: {\n+\t\t\t\ttype: Boolean,\n+\t\t\t\tvalue: false\n+\t\t\t},\n+\t\t\twidth: {\n+\t\t\t\ttype: Number,\n+\t\t\t\tvalue: false,\n+\t\t\t\treflectToAttribute: true\n+\t\t\t},\n+\t\t\tvalue: {\n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: null,\n+\t\t\t\treflectToAttribute: true,\n+\t\t\t\tobserver: \"_valueChanged\",\n+\t\t\t\tnotify: true\n+\t\t\t},\n+\t\t\tdisabled: { \n+\t\t\t\ttype: Boolean,\n+\t\t\t\tvalue: false, \n+\t\t\t\treflectToAttribute: true \n+\t\t\t},\n+\t\t\tfitparent: { \n+\t\t\t\ttype: Boolean,\n+\t\t\t\tvalue: false, \n+\t\t\t\treflectToAttribute: true\n+\t\t\t},\n+\t\t\tlayout: { \n+\t\t\t\ttype: String,\n+\t\t\t\tvalue: false, \n+\t\t\t\treflectToAttribute: true \n \t\t\t}\n-\t\t}\n-\t},\n-\n-\ttypeChanged: function(oldType, newType) {\n-\t\tvar types = /(text|password|email|number|tel|search|url)/ig;\n-\t\tif (!types.test(newType)) {\n-\t\t\tthis.type = \"text\";\n-\t\t}\n-\t},\n+\t\t},\n+\n+\t\tready: function() {\n+\t\t\tthis.email = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n+\t\t\tthis.alpha = /^\\w+$/;\n+\t\t\tthis.inter = /^\\d+$/;\n+\t\t\tthis.floater = /^\\d*[.]\\d+$/;\n+\t\t},\n+\n+\t\t_typeChanged: function(newVal, oldVal) {\n+\t\t\tvar types = /(text|password|email|number|tel|search|url)/ig;\n+\t\t\tif (!types.test(newVal)) {\n+\t\t\t\tthis.type = \"text\";\n+\t\t\t}\n+\t\t},\n \n-\tsearchChanged: function(oldVal, newVal) {\n-\t\tif(this.icon === \"search\" && newVal) {\n-\t\t\tthis.paddingRight = this.PADDING_ICON;\n-\t\t\tthis.$.icon.style.display = \"block\";\n-\t\t}\n-\t},\n+\t\t_searchChanged: function(newVal, oldVal) {\n+\t\t\tif (newVal) { \n+\t\t\t\tthis.icon = \"search\";\n+\t\t\t} else if (!newVal && this.icon === \"search\") {\n+\t\t\t\tthis.icon = false;\n+\t\t\t}\n+\t\t},\n \n-\ticonChanged: function(oldVal, newVal) {\n-\t\tif(this.icon !== \"search\" && newVal) {\n-\t\t\tthis.paddingRight = this.PADDING_ICON;\n-\t\t\tthis.$.icon.style.display = \"block\";\n-\t\t}\n-\t},\n-\n-\tclearChanged: function(oldVal, newVal) {\n-\t\tthis.paddingRight = this.PADDING_ICON;\n-\t},\n-\t\n-\tvalueChanged: function(oldVal, newVal) {\n-\t\t//update model if needed\n-\t\tthis.updateModel();\n-\t\tthis.fire(\"changed\", { value: this.value });\n-\t\t\n-\t\tif (!this.autoItemSelected){\n-\t\t\t// the user is typing\n-\t\t\tthis.validate();\n-\t\t\tthis.updateUI();\n-\t\t} else {\n-\t\t\t// the user selected an item from the autocomplete list\n-\t\t\tthis.autoItemSelected = false;\n-\t\t}\n-\t},\n-\n-\tinputWidthChanged: function (oldVal, newVal) {\n-\t\t// set close panel width if the input width changed:\n-\t\tif (this.$ && this.$.closePanel) {\n-\t\t\tif (this.autocomplete && this.overflow === \"visible\") {\n-\t\t\t\tthis.$.closePanel.style.width = \"auto\";\n-\t\t\t\tthis.$.closePanel.style.minWidth = newVal + \"px\";\n+\t\t_iconChanged: function(newVal, oldVal) {\n+\t\t\tif (newVal) { \n+\t\t\t\tthis.$.icon.style.display = \"block\";\n \t\t\t} else {\n-\t\t\t\tthis.$.closePanel.style.width = newVal + \"px\";\n+\t\t\t\tthis.$.icon.style.display = \"none\";\n \t\t\t}\n-\t\t}\n-\t},\n-\n-\tvalidate: function() {\n-\t\tvar valid = this.validator();\n+\t\t},\n+\t\t\n+\t\t_valueChanged: function(newVal, oldVal) {\n+\t\t\t// the user is typing\n+\t\t\tif (newVal) {\n+\t\t\t\tthis.validate();\n+\t\t\t\tthis.updateUI(newVal);\n \n-\t\tif (valid) {\n-\t\t\tthis.error = false;\n-\t\t} else {\n-\t\t\tthis.error = true;\n-\t\t}\n-\t},\n-\n-\tvalidator: function() {\n-\t\tswitch(this.validation) {\n-\t\t\tcase \"empty\":\n-\t\t\t\treturn this.value.length > 0;\n-\t\t\tcase \"int\":\n-\t\t\t\treturn this.inter.test(this.value);\n-\t\t\tcase \"decimal\":\n-\t\t\t\treturn this.floater.test(this.value);\n-\t\t\tcase \"email\":\n-\t\t\t\treturn this.email.test(this.value);\n-\t\t\tcase \"alpha\":\n-\t\t\t\treturn this.alpha.test(this.value);\n-\t\t\tdefault:\n-\t\t\t\treturn true;\n-\t\t}\n-\t},\n+\t\t\t\t// update model if needed\n+\t\t\t\tthis.updateModel();\n+\t\t\t\tthis.fire(\"changed\", { value: this.value });\n+\t\t\t}\n+\t\t},\n \n-\tupdateUI: function() {\n-\t\tvar dataFilter = function(a) {\n-\t\t\treturn a.name.indexOf(this.value) != -1;\n-\t\t};\n+\t\tvalidate: function() {\n+\t\t\tvar valid = this.validator();\n \n-\t\t//handle the clear and search state styling:\n-\t\tif (this.value && this.value.length > 0) {\n-\t\t\tif (this.clear) {\n-\t\t\t\tthis.$.clearBtn.style.display = \"block\";\n+\t\t\tif (valid) {\n+\t\t\t\tthis.error = false;\n+\t\t\t} else {\n+\t\t\t\tthis.error = true;\n \t\t\t}\n-\t\t\tif (this.icon === \"search\" && this.search && this.clear || this.icon && this.clear) {\n-\t\t\t\tthis.$.icon.style.display = \"none\";\n+\t\t},\n+\n+\t\tvalidator: function() {\n+\t\t\tswitch(this.validation) {\n+\t\t\t\tcase \"empty\":\n+\t\t\t\t\treturn this.value.length > 0;\n+\t\t\t\tcase \"int\":\n+\t\t\t\t\treturn this.inter.test(this.value);\n+\t\t\t\tcase \"decimal\":\n+\t\t\t\t\treturn this.floater.test(this.value);\n+\t\t\t\tcase \"email\":\n+\t\t\t\t\treturn this.email.test(this.value);\n+\t\t\t\tcase \"alpha\":\n+\t\t\t\t\treturn this.alpha.test(this.value);\n+\t\t\t\tdefault:\n+\t\t\t\t\treturn true;\n \t\t\t}\n-\t\t\tif (this.autocomplete) {\n-\t\t\t\tthis.searchItems = this.data.filter(dataFilter.bind(this));\n-\t\t\t\tif (this.searchItems.length > 0) {\n-\t\t\t\t\tthis.open();\n+\t\t},\n+\n+\t\tupdateUI: function(value) {\n+\t\t\t// handle the clear and search state styling:\n+\t\t\tif (value) {\n+\t\t\t\tif (this.clear) {\n+\t\t\t\t\tthis.$.clearBtn.style.display = \"block\";\n+\t\t\t\t}\n+\t\t\t\tif (this.icon === \"search\" && this.search && this.clear || this.icon && this.clear) {\n+\t\t\t\t\tthis.$.icon.style.display = \"none\";\n \t\t\t\t}\n-\t\t\t\t// if (this.searchItems.length > this.maxItems) {\n-\t\t\t\t// this.searchItems = this.searchItems.splice(0, this.maxItems);\n-\t\t\t\t// }\n-\t\t\t}\n-\t\t} else {\n-\t\t\tif (this.clear) {\n-\t\t\t\tthis.$.clearBtn.style.display = \"none\";\n-\t\t\t}\n-\t\t\tif (this.icon === \"search\" && this.search && this.clear || this.icon && this.clear) {\n-\t\t\t\tthis.$.icon.style.display = \"block\";\n-\t\t\t}\n-\t\t\tif (this.autocomplete) {\n-\t\t\t\tthis.close();\n-\t\t\t}\n-\t\t}\n-\t},\n-\t\n-\tbindModel: function(model, property) {\n-\t\tthis.model = model;\n-\t\tthis.property = property;\n-\t},\n-\n-\tupdateModel: function() {\n-\t\tif (this.model && this.property) {\n-\t\t\t//check for BB models\n-\t\t\tif (this.model.set) {\n-\t\t\t\tvar o = {};\n-\t\t\t\to[this.property] = this.value;\n-\t\t\t\tthis.model.set(o);\n \t\t\t} else {\n-\t\t\t\tthis.model[this.property] = this.value;\n+\t\t\t\tif (this.clear) {\n+\t\t\t\t\tthis.$.clearBtn.style.display = \"none\";\n+\t\t\t\t}\n+\t\t\t\tif (this.icon === \"search\" && this.search && this.clear || this.icon && this.clear) {\n+\t\t\t\t\tthis.$.icon.style.display = \"block\";\n+\t\t\t\t}\n \t\t\t}\n+\t\t},\n+\t\t\n+\t\tbindModel: function(model, property) {\n+\t\t\tthis.model = model;\n+\t\t\tthis.property = property;\n+\t\t},\n+\n+\t\tupdateModel: function() {","path":"src/mm-input/mm-input.js","position":363,"original_position":363,"commit_id":"1b0f869f316b19442009de7ca8040f2a88e4de11","original_commit_id":"1b0f869f316b19442009de7ca8040f2a88e4de11","user":{"login":"dlasky","id":1529402,"avatar_url":"https://avatars.githubusercontent.com/u/1529402?v=3","gravatar_id":"","url":"https://api.github.com/users/dlasky","html_url":"https://github.com/dlasky","followers_url":"https://api.github.com/users/dlasky/followers","following_url":"https://api.github.com/users/dlasky/following{/other_user}","gists_url":"https://api.github.com/users/dlasky/gists{/gist_id}","starred_url":"https://api.github.com/users/dlasky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dlasky/subscriptions","organizations_url":"https://api.github.com/users/dlasky/orgs","repos_url":"https://api.github.com/users/dlasky/repos","events_url":"https://api.github.com/users/dlasky/events{/privacy}","received_events_url":"https://api.github.com/users/dlasky/received_events","type":"User","site_admin":false},"body":"see prev","created_at":"2015-06-16T22:57:50Z","updated_at":"2015-06-16T22:57:50Z","html_url":"https://github.com/MediaMath/strand/pull/15#discussion_r32580677","pull_request_url":"https://api.github.com/repos/MediaMath/strand/pulls/15","_links":{"self":{"href":"https://api.github.com/repos/MediaMath/strand/pulls/comments/32580677"},"html":{"href":"https://github.com/MediaMath/strand/pull/15#discussion_r32580677"},"pull_request":{"href":"https://api.github.com/repos/MediaMath/strand/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/MediaMath/strand/pulls/15","id":37846456,"html_url":"https://github.com/MediaMath/strand/pull/15","diff_url":"https://github.com/MediaMath/strand/pull/15.diff","patch_url":"https://github.com/MediaMath/strand/pull/15.patch","issue_url":"https://api.github.com/repos/MediaMath/strand/issues/15","number":15,"state":"open","locked":false,"title":"mm-input port","user":{"login":"anthonykoerber","id":807662,"avatar_url":"https://avatars.githubusercontent.com/u/807662?v=3","gravatar_id":"","url":"https://api.github.com/users/anthonykoerber","html_url":"https://github.com/anthonykoerber","followers_url":"https://api.github.com/users/anthonykoerber/followers","following_url":"https://api.github.com/users/anthonykoerber/following{/other_user}","gists_url":"https://api.github.com/users/anthonykoerber/gists{/gist_id}","starred_url":"https://api.github.com/users/anthonykoerber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthonykoerber/subscriptions","organizations_url":"https://api.github.com/users/anthonykoerber/orgs","repos_url":"https://api.github.com/users/anthonykoerber/repos","events_url":"https://api.github.com/users/anthonykoerber/events{/privacy}","received_events_url":"https://api.github.com/users/anthonykoerber/received_events","type":"User","site_admin":false},"body":"@derekolson @dlasky \r\n\r\nThis is the first one with multiple moving parts - so it's probably worth a CR.\r\n\r\nStripped all the data/autocomplete stuff, in favor of building mm-autocomplete which wraps the mm-input.","created_at":"2015-06-16T21:59:42Z","updated_at":"2015-06-16T22:57:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dbcf8a0564dc5e4b7bd49b5bed89b6bcece6f29a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/MediaMath/strand/pulls/15/commits","review_comments_url":"https://api.github.com/repos/MediaMath/strand/pulls/15/comments","review_comment_url":"https://api.github.com/repos/MediaMath/strand/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MediaMath/strand/issues/15/comments","statuses_url":"https://api.github.com/repos/MediaMath/strand/statuses/1b0f869f316b19442009de7ca8040f2a88e4de11","head":{"label":"anthonykoerber:port/mm-input","ref":"port/mm-input","sha":"1b0f869f316b19442009de7ca8040f2a88e4de11","user":{"login":"anthonykoerber","id":807662,"avatar_url":"https://avatars.githubusercontent.com/u/807662?v=3","gravatar_id":"","url":"https://api.github.com/users/anthonykoerber","html_url":"https://github.com/anthonykoerber","followers_url":"https://api.github.com/users/anthonykoerber/followers","following_url":"https://api.github.com/users/anthonykoerber/following{/other_user}","gists_url":"https://api.github.com/users/anthonykoerber/gists{/gist_id}","starred_url":"https://api.github.com/users/anthonykoerber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthonykoerber/subscriptions","organizations_url":"https://api.github.com/users/anthonykoerber/orgs","repos_url":"https://api.github.com/users/anthonykoerber/repos","events_url":"https://api.github.com/users/anthonykoerber/events{/privacy}","received_events_url":"https://api.github.com/users/anthonykoerber/received_events","type":"User","site_admin":false},"repo":{"id":35910523,"name":"strand","full_name":"anthonykoerber/strand","owner":{"login":"anthonykoerber","id":807662,"avatar_url":"https://avatars.githubusercontent.com/u/807662?v=3","gravatar_id":"","url":"https://api.github.com/users/anthonykoerber","html_url":"https://github.com/anthonykoerber","followers_url":"https://api.github.com/users/anthonykoerber/followers","following_url":"https://api.github.com/users/anthonykoerber/following{/other_user}","gists_url":"https://api.github.com/users/anthonykoerber/gists{/gist_id}","starred_url":"https://api.github.com/users/anthonykoerber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anthonykoerber/subscriptions","organizations_url":"https://api.github.com/users/anthonykoerber/orgs","repos_url":"https://api.github.com/users/anthonykoerber/repos","events_url":"https://api.github.com/users/anthonykoerber/events{/privacy}","received_events_url":"https://api.github.com/users/anthonykoerber/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/anthonykoerber/strand","description":"A collection of modular, reusable Web Components built upon Polymer","fork":true,"url":"https://api.github.com/repos/anthonykoerber/strand","forks_url":"https://api.github.com/repos/anthonykoerber/strand/forks","keys_url":"https://api.github.com/repos/anthonykoerber/strand/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anthonykoerber/strand/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anthonykoerber/strand/teams","hooks_url":"https://api.github.com/repos/anthonykoerber/strand/hooks","issue_events_url":"https://api.github.com/repos/anthonykoerber/strand/issues/events{/number}","events_url":"https://api.github.com/repos/anthonykoerber/strand/events","assignees_url":"https://api.github.com/repos/anthonykoerber/strand/assignees{/user}","branches_url":"https://api.github.com/repos/anthonykoerber/strand/branches{/branch}","tags_url":"https://api.github.com/repos/anthonykoerber/strand/tags","blobs_url":"https://api.github.com/repos/anthonykoerber/strand/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anthonykoerber/strand/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anthonykoerber/strand/git/refs{/sha}","trees_url":"https://api.github.com/repos/anthonykoerber/strand/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anthonykoerber/strand/statuses/{sha}","languages_url":"https://api.github.com/repos/anthonykoerber/strand/languages","stargazers_url":"https://api.github.com/repos/anthonykoerber/strand/stargazers","contributors_url":"https://api.github.com/repos/anthonykoerber/strand/contributors","subscribers_url":"https://api.github.com/repos/anthonykoerber/strand/subscribers","subscription_url":"https://api.github.com/repos/anthonykoerber/strand/subscription","commits_url":"https://api.github.com/repos/anthonykoerber/strand/commits{/sha}","git_commits_url":"https://api.github.com/repos/anthonykoerber/strand/git/commits{/sha}","comments_url":"https://api.github.com/repos/anthonykoerber/strand/comments{/number}","issue_comment_url":"https://api.github.com/repos/anthonykoerber/strand/issues/comments{/number}","contents_url":"https://api.github.com/repos/anthonykoerber/strand/contents/{+path}","compare_url":"https://api.github.com/repos/anthonykoerber/strand/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anthonykoerber/strand/merges","archive_url":"https://api.github.com/repos/anthonykoerber/strand/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anthonykoerber/strand/downloads","issues_url":"https://api.github.com/repos/anthonykoerber/strand/issues{/number}","pulls_url":"https://api.github.com/repos/anthonykoerber/strand/pulls{/number}","milestones_url":"https://api.github.com/repos/anthonykoerber/strand/milestones{/number}","notifications_url":"https://api.github.com/repos/anthonykoerber/strand/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anthonykoerber/strand/labels{/name}","releases_url":"https://api.github.com/repos/anthonykoerber/strand/releases{/id}","created_at":"2015-05-19T21:51:59Z","updated_at":"2015-05-19T21:52:00Z","pushed_at":"2015-06-16T21:07:25Z","git_url":"git://github.com/anthonykoerber/strand.git","ssh_url":"git@github.com:anthonykoerber/strand.git","clone_url":"https://github.com/anthonykoerber/strand.git","svn_url":"https://github.com/anthonykoerber/strand","homepage":"http://mediamath.github.io/strand/","size":2359,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"MediaMath:1.0","ref":"1.0","sha":"1540a9b49d660248891c5c26bc9501510842c8a4","user":{"login":"MediaMath","id":2982134,"avatar_url":"https://avatars.githubusercontent.com/u/2982134?v=3","gravatar_id":"","url":"https://api.github.com/users/MediaMath","html_url":"https://github.com/MediaMath","followers_url":"https://api.github.com/users/MediaMath/followers","following_url":"https://api.github.com/users/MediaMath/following{/other_user}","gists_url":"https://api.github.com/users/MediaMath/gists{/gist_id}","starred_url":"https://api.github.com/users/MediaMath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MediaMath/subscriptions","organizations_url":"https://api.github.com/users/MediaMath/orgs","repos_url":"https://api.github.com/users/MediaMath/repos","events_url":"https://api.github.com/users/MediaMath/events{/privacy}","received_events_url":"https://api.github.com/users/MediaMath/received_events","type":"Organization","site_admin":false},"repo":{"id":33332128,"name":"strand","full_name":"MediaMath/strand","owner":{"login":"MediaMath","id":2982134,"avatar_url":"https://avatars.githubusercontent.com/u/2982134?v=3","gravatar_id":"","url":"https://api.github.com/users/MediaMath","html_url":"https://github.com/MediaMath","followers_url":"https://api.github.com/users/MediaMath/followers","following_url":"https://api.github.com/users/MediaMath/following{/other_user}","gists_url":"https://api.github.com/users/MediaMath/gists{/gist_id}","starred_url":"https://api.github.com/users/MediaMath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MediaMath/subscriptions","organizations_url":"https://api.github.com/users/MediaMath/orgs","repos_url":"https://api.github.com/users/MediaMath/repos","events_url":"https://api.github.com/users/MediaMath/events{/privacy}","received_events_url":"https://api.github.com/users/MediaMath/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/MediaMath/strand","description":"A collection of modular, reusable Web Components built upon Polymer","fork":false,"url":"https://api.github.com/repos/MediaMath/strand","forks_url":"https://api.github.com/repos/MediaMath/strand/forks","keys_url":"https://api.github.com/repos/MediaMath/strand/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MediaMath/strand/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MediaMath/strand/teams","hooks_url":"https://api.github.com/repos/MediaMath/strand/hooks","issue_events_url":"https://api.github.com/repos/MediaMath/strand/issues/events{/number}","events_url":"https://api.github.com/repos/MediaMath/strand/events","assignees_url":"https://api.github.com/repos/MediaMath/strand/assignees{/user}","branches_url":"https://api.github.com/repos/MediaMath/strand/branches{/branch}","tags_url":"https://api.github.com/repos/MediaMath/strand/tags","blobs_url":"https://api.github.com/repos/MediaMath/strand/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MediaMath/strand/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MediaMath/strand/git/refs{/sha}","trees_url":"https://api.github.com/repos/MediaMath/strand/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MediaMath/strand/statuses/{sha}","languages_url":"https://api.github.com/repos/MediaMath/strand/languages","stargazers_url":"https://api.github.com/repos/MediaMath/strand/stargazers","contributors_url":"https://api.github.com/repos/MediaMath/strand/contributors","subscribers_url":"https://api.github.com/repos/MediaMath/strand/subscribers","subscription_url":"https://api.github.com/repos/MediaMath/strand/subscription","commits_url":"https://api.github.com/repos/MediaMath/strand/commits{/sha}","git_commits_url":"https://api.github.com/repos/MediaMath/strand/git/commits{/sha}","comments_url":"https://api.github.com/repos/MediaMath/strand/comments{/number}","issue_comment_url":"https://api.github.com/repos/MediaMath/strand/issues/comments{/number}","contents_url":"https://api.github.com/repos/MediaMath/strand/contents/{+path}","compare_url":"https://api.github.com/repos/MediaMath/strand/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MediaMath/strand/merges","archive_url":"https://api.github.com/repos/MediaMath/strand/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MediaMath/strand/downloads","issues_url":"https://api.github.com/repos/MediaMath/strand/issues{/number}","pulls_url":"https://api.github.com/repos/MediaMath/strand/pulls{/number}","milestones_url":"https://api.github.com/repos/MediaMath/strand/milestones{/number}","notifications_url":"https://api.github.com/repos/MediaMath/strand/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MediaMath/strand/labels{/name}","releases_url":"https://api.github.com/repos/MediaMath/strand/releases{/id}","created_at":"2015-04-02T21:12:50Z","updated_at":"2015-06-15T19:24:22Z","pushed_at":"2015-06-16T21:59:43Z","git_url":"git://github.com/MediaMath/strand.git","ssh_url":"git@github.com:MediaMath/strand.git","clone_url":"https://github.com/MediaMath/strand.git","svn_url":"https://github.com/MediaMath/strand","homepage":"http://mediamath.github.io/strand/","size":3742,"stargazers_count":77,"watchers_count":77,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":16,"mirror_url":null,"open_issues_count":2,"forks":16,"open_issues":2,"watchers":77,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/MediaMath/strand/pulls/15"},"html":{"href":"https://github.com/MediaMath/strand/pull/15"},"issue":{"href":"https://api.github.com/repos/MediaMath/strand/issues/15"},"comments":{"href":"https://api.github.com/repos/MediaMath/strand/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/MediaMath/strand/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/MediaMath/strand/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MediaMath/strand/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/MediaMath/strand/statuses/1b0f869f316b19442009de7ca8040f2a88e4de11"}}}}