Skip to content

Instantly share code, notes, and snippets.

View ianaya89's full-sized avatar
👾

Nacho Anaya ianaya89

👾
View GitHub Profile
@ianaya89
ianaya89 / port-merge
Created September 17, 2015 03:04
Git hook that will install npm dependecies (if package.json changed) after a git pull.
#!/bin/sh
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
check_run package.json "npm install"
@ianaya89
ianaya89 / user-test.js
Created October 22, 2015 04:33
mocha test example for NodeJS
'use strict';
process.env.NODE_ENV = 'test';
var chai = require('chai');
var chaiHttp = require('chai-http');
var server = require('../server.js');
var should = chai.should();
var UserModel = require('../schemas/user-schema.js');
var users = require('./mock-data.js').users;
@ianaya89
ianaya89 / custom-readable-stream.js
Last active November 14, 2021 11:01
Custom readable stream with node js
/* Implementation */
var stream = require('stream');
// Create the custom stream
function Num(options) {
// Inherit properties
stream.Readable.call(this, options);
this._start = 0;
this._end = 100;
@ianaya89
ianaya89 / promisify-object.js
Last active November 6, 2015 05:51
Building promises with promisify-node.
var promisify = require('promisify-node');
var myObj = {
myMethod: function(a, b, cb) {
cb(a, b);
}
};
// No need to return anything as the methods will be replaced on the object.
promisify(myObj);
@ianaya89
ianaya89 / dirvetice-scafoolding.js
Last active November 8, 2015 22:45
dirvetice-scafoolding.js
'use strict';
angular.module('moduleName')
.directive('directiveName', function () {
return function($scope, $element, $attrs) {
//make the search using element
});
});
@ianaya89
ianaya89 / app.js
Created November 10, 2015 14:45
ngWaitstaffApp
angular.module('ngWaitstaffApp', ['ngRoute'])
// globals
.constant('DEFAULT_TAX_RATE', 9.50)
.value('earnings', [])
.config(function($routeProvider) {
$routeProvider.when('/', {
templateUrl : 'partials/home.html'
}).when('/new-meal', {
var express = require('express');
var bodyParser = require('body-parser');
var jsonParser = bodyParser.json();
var Storage = function() {
this.items = [];
this.id = 0;
};
Storage.prototype.add = function(name) {
@ianaya89
ianaya89 / dir-create.js
Last active May 7, 2016 20:19
Helpers to manage files in nodejs
const mkdirp = require('mkdirp');
const path = require('path');
mkdirp(path.join(__dirname, 'foo/bar'), err => {
if (err) throw err;
});
@ianaya89
ianaya89 / attributes.jade
Created May 7, 2016 20:30
Basic jade features.
div(class="movie-card", id="oceans-11")
h1(class="movie-title") Ocean's 11
img(src="/img/oceans-11.png", class="movie-poster")
ul(class="genre-list")
li Comedy
li Thriller
exports.save = function(name, callback){
Item.create({name: name},function(error, item){
if(error){
callback(error);
return;
}
callback(null, item);
});
};