Skip to content

Instantly share code, notes, and snippets.

View miguelludert's full-sized avatar

Miguel Ludert miguelludert

View GitHub Profile
@miguelludert
miguelludert / Cross platform js modules
Created August 29, 2012 13:34
Snippet for cross platform javascript modules
(function(){
"use strict";
var result = {}; // your javascript module
if(typeof define !== undefined && typeof define.amd !== undefined ){
define(function(){
return result;
});
} else if(typeof module !== undefined && typeof module.exports !== undefined ){
module.exports = result;
} else {
@miguelludert
miguelludert / less-css-middlware
Created October 23, 2012 15:31
Less middleware for express
var
fs = require("fs"),
__ = require("underscore"),
url = require('url'),
less = require('less'),
path = require('path'),
regex = /\.less$/,
cache = {},
defaultOptions = {
src : "",
@miguelludert
miguelludert / Lazy DocumentSession Snippet.cs
Last active December 15, 2015 13:49
RavenDB helper class for creating singleton document stores and embedded stores for unit testing.
private Lazy<IDocumentSession> LazyDocumentSession = RavenHelper.CreateLazySession();
public IDocumentSession DocumentSession { get { return LazyDocumentSession.Value; } }
protected override void Dispose(bool disposing)
{
if (LazyDocumentSession.IsValueCreated)
LazyDocumentSession.Value.Dispose();
base.Dispose(disposing);
}
using System;
using System.Collections.Generic;
using System.Runtime.Caching;
using System.Linq;
namespace Caching
{
public class CacheContainer
{
@miguelludert
miguelludert / Service Agent Factory.cs
Last active September 29, 2016 21:26
Service Agent Factory
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Reflection.Emit;
using System.ServiceModel;
using System.Threading;
using System.ServiceModel.Description;
using System.Diagnostics;
@miguelludert
miguelludert / I_Repository.cs
Last active November 22, 2015 23:55
Entity Framework reflection repositories
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
namespace ThinkingSites.Entity
{
public interface I_Repository<T>
{
@miguelludert
miguelludert / KO validation extensions.js
Last active August 29, 2015 13:57
Rockout (for knockout)
var utils = {
isValid: function (toValidate, deep, show) {
if (deep === undefined) {
deep = true;
}
var deepValid = true;
if (deep) {
var validateThis = ko.utils.unwrapObservable(toValidate);
// overrwrite the built in text binding handler to allow for formatting
var origTextHandler = ko.bindingHandlers.text;
var newTextHandler = {
init: origTextHandler.init,
update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
var bindings = allBindings();
if (bindings.format) {
@miguelludert
miguelludert / dynami order by.cs
Created April 22, 2014 14:28
Dynamic Order By
public static IOrderedQueryable<T> OrderBy<T>(this IQueryable<T> source, string property)
{
return ApplyOrder<T>(source, property, "OrderBy");
}
public static IOrderedQueryable<T> OrderByDescending<T>(this IQueryable<T> source, string property)
{
return ApplyOrder<T>(source, property, "OrderByDescending");
}
public static IOrderedQueryable<T> ThenBy<T>(this IOrderedQueryable<T> source, string property)
{
@miguelludert
miguelludert / formatAddress.js
Created June 18, 2014 15:58
format address function
function formatAddress(obj, context) {
// this allows you to pass in a context and keys instead of values
if (arguments.length >= 2) {
if (context) {
obj = {
address: _.map(obj.address, function (item) {
return context[item];
}),
city: context[obj.city],