Skip to content

Instantly share code, notes, and snippets.

View jiggliemon's full-sized avatar

Chase Wilson jiggliemon

View GitHub Profile
// 1: how could you rewrite the following to make it shorter?
bar['doSomething' + (foo?'':'Else')](el);
// 2: what is the faulty logic in the following code?
/*
var foo = 'hello';
@jiggliemon
jiggliemon / namespace.js
Created June 3, 2011 07:21
Simple namespacing function.
if(!Object.namespace)
Object.namespace = function( str ){
if(!str) return;
var i = 0
,base = window
,shards,length
if(str.indexOf("::") !== -1){
shards = str.split("::");
base = window[shards[0]] = window[shards[0]] || {};
@jiggliemon
jiggliemon / wonk.js
Last active December 24, 2015 09:08
(function() {
function Game() {
this.reset();
}
Game.prototype = {
reset: function reset() {
this.count = 0;
this.guesses = [];
this.answer = Math.round(Math.random() * 99 + 1);
},
[{"name":"root","type": "core/template",
"children": [
{"name": "header","type": "core/template"},
{"name": "body","type":"core/template",
"children": [
{"name": "body.left", "type": "core/template"},
{"name": "body.right", "type": "core/template"},
{"name": "body.main", "type": "core/template"}
]
},
@jiggliemon
jiggliemon / protofy.js
Last active December 21, 2015 15:19
Turns a list of objects into a prototype chain
function protofy () {
var args = Array.prototype.slice.call(arguments)
return (function objectify (obj) {
obj = args.shift()
return args.length ? protofy.x( Object.create( objectify() ), obj ) : obj
}())
}
protofy.x = function ( one, two, k ) {
var block = require('yayo/block')
var fs = require('fs')
function getTemplate(name) {
return fs.readFileSync('./tmpl/'+name+'.tmpl', 'utf8')
}
var layout = new block({
template: getTemplate('layout')
})
{block name='title'}{/block}
{block name='body'}{/block}
{
"name": "block.name"
,"type": "core/text"
,"blocks": [
{"name": "some.block","type": "core/list"}
,{"name": "some.nested.block","type": "core/text"}
]
}
var Block = require('blocks/block')
var TaskModel = require('app/blocks/task')
var TaskBlock = Block.create({
template: "<input type=\"checkbox\" <%= this.model.get('doneness')?'checked':'' %>/><%= this.model.get('text') %>"
}, {
construct: function (taskId) {
this.setModel(new TaskModel(taskId))
}
})