Skip to content

Instantly share code, notes, and snippets.

View elycruz's full-sized avatar

Ely De La Cruz elycruz

View GitHub Profile
// {{compare unicorns ponies operator="<"}}
// I knew it, unicorns are just low-quality ponies!
// {{/compare}}
//
// (defaults to == if operator omitted)
//
// {{equal unicorns ponies }}
// That's amazing, unicorns are actually undercover ponies
// {{/equal}}
// (from http://doginthehat.com.au/2012/02/comparison-block-helper-for-handlebars-templates/)
@elycruz
elycruz / gist:6429384
Created September 3, 2013 20:50
Yeoman Config/Manifest Json/js Structure. The only difference with using an *.rc or a .yo* file and my idea is that this file would be treated as a json/js file that would exist locally.
/**
* yo-marionette-config.js
*
* The idea is to have a config file from which to read the folder structure of the
* application from that should be used when generating files through the generator
* instead of having it hardcoded in the generators. This file is also a good place
* to keep file generation options as well.
*
* Possible actions to create to go along with the yo-marionette-config.js:
* ----------------------------------------------------------------------------
@elycruz
elycruz / gist:7980005
Created December 15, 2013 23:51
Gist for generating a map from an array of arrays [['a': 'hello'], ['b': 'world']].
function fromArrayMap (arrayMap, convertAllArrays) {
convertAllArrays = convertAllArrays || true;
var map = new Map(), value;
arrayMap.forEach(function(x) {
value = Array.isArray(x[1]) ? fromArrayMap(x[1]) : x[1];
map.set(x[0], value);
});
return map;
}
/**
* Created by edelacruz on 2/17/14.
*/
(function (context) {
/**
* Takes a namespace string and fetches that location out from
* an object/Map. If the namespace doesn't exists it is created then
* returned.
* Example: _namespace('hello.world.how.are.you.doing', obj) will
* create/fetch within `obj`:
/**
* Created by edelacruz on 2/17/14.
* A shim for generating map objects for hash maps and array maps
* (arrays of 2 item arrays [0] 'key', [1] 'value')
*/
define(['es6-shim', 'checkjs'], function (_namespace) {
function fromArray (arrayMap, recursive) {
recursive = recursive || false;
var map = new Map(), value;
function _process(value) {
return new Promise(function (fulfill, reject) {
var count = 0, timeout;
timeout = setInterval(function () {
console.log('iteration ' + count);
if (count > 5 && value !== 'fail') { fulfill(true); clearInterval(timeout); }
else if (count > 5 && value === 'fail') { reject('Operation timed out.'); clearInterval(timeout); }
count += 1;
}, 100);
});
@elycruz
elycruz / delete-windows-old.js
Last active August 29, 2015 14:15
custom rmdirp for 'Windows.old' folder
/**
* Short script (**Note** needs to run with `--harmony` flag (testing on node 0.12.0))
* for getting rid of the 'Windows.old' folder and also is a custom rmdirp of sorts: overcomes the memory limitations of the rmdirp module when running on windows (and maybe linux?).
* Just replace `pathToOperateOn` with the location of your 'Windows.old' folder.
* Run it and celebrate! :-D (thumbsup)!
* (Also excuse the big tabs/spaces. Had some issues with my pc, had no software installed and use notepad to write it lol!)
*/
var fs = require('fs'),
path = require('path'),
pathToOperateOn = 'C:\Windows.old',
@elycruz
elycruz / appendScriptTag.js
Last active August 29, 2015 14:18
Append a script tag (legacy way with optional use of jquery)
/**
* Creates and appends a script tag to the `document` at `insertLocation`. (This snippet is a good candidate for adding an
* interval or a timeout on the returned $.deffered|HTMLScriptElement)
* @param options hash of the following parameters:
* @param src {String|HTMLScriptElement} - Script source or script element. Required.
* @param doc {document} - `document` object. Optional. Default `document`.
* @param insertLocation {String} - Location at which to insert the script tag [head,body]. Optional. Default 'body'.
* @param onError {Function} - On error callback. Optional. If `$.getScript` is available these callbacks gets passed to `.fail()`.
* @param onSuccess {Function} - On success/completion callback. Optional.
* @param useGetScript {Boolean} - Whether to use `$.getScript` if it is available. Optional. Default `false`.
@elycruz
elycruz / .eslintrc
Last active August 29, 2015 14:18
.eslintrc converted from http://eslint.org/docs/rules/ **Note** the file has no values (everything is set to null).
/**
Conversion of http://eslint.org/docs/rules/ to an actual .eslintrc file:
Copied: 04/01/2015
Copied by: Ely De La Cruz <elycruz@elycruz.com>
*/
/**
Rules:
Rules in ESLint are divided into several categories to help you better understand their value. Additionally, not all rules are enabled by default. Those that are not enabled by default are marked as being off.
**-------------------------------------------------------------------------------------------------------------------**/
@elycruz
elycruz / .eslintrc
Last active September 18, 2016 16:42
.eslintrc as yaml file
# --------------------------------------------------------------------------------------------------------------------- #
# Conversion of http://eslint.org/docs/rules/ to an actual .eslintrc file:
# Copied: 04/01/2015
# Updated to yaml format: 05/15/2015
# Copied by: Ely De La Cruz <elycruz@elycruz.com>
# --------------------------------------------------------------------------------------------------------------------- #
# --------------------------------------------------------------------------------------------------------------------- #
# Environemnt Types:
# --------------------------------------------------------------------------------------------------------------------- #