Skip to content

Instantly share code, notes, and snippets.

@benfoster
benfoster / gist:9009407
Created February 14, 2014 21:14
Simple pipeline example
using NUnit.Framework;
namespace PipelineDemo
{
public abstract class Handler<T>
{
protected Handler<T> next;
public void SetInnerHandler(Handler<T> handler)
{
@benfoster
benfoster / gist:8889154
Created February 8, 2014 19:48
jQuery Fitframe
/*!
* jQuery fitframe plugin
* Further changes, comments: @benfosterdev
* Licensed under the MIT license
*/
;(function ( $, window, document, undefined ) {
var pluginName = 'fitframe',
defaults = {
@benfoster
benfoster / gist:8843578
Created February 6, 2014 12:50
Tenant Resolver API
// 1. Return identifiers using out parameter
public interface ITenantResolver<TTenant>
{
Task<TTenant> Resolve(string identifier, out string[] tenantIdentifiers);
}
// 2. Return ResolvedTenant object containing identifiers
public interface ITenantResolver<TTenant>
@benfoster
benfoster / index.html
Last active January 2, 2016 12:09
A LESS mixin for maintaining perfect vertical rhythm:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Baseline</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href='http://fonts.googleapis.com/css?family=Libre+Baskerville' rel='stylesheet' type='text/css'>
<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="less.js" type="text/javascript"></script>
</head>
@benfoster
benfoster / gist:8145486
Created December 27, 2013 10:56
Generating an entity id manually in RavenDB
public async void Run()
{
var orderId = await GenerateId<Order>();
var order = new Order(orderId, 10.99);
session.Store(order);
session.SaveChanges();
}
protected async Task<string> GenerateId<TEntity>()
@benfoster
benfoster / gist:7562771
Created November 20, 2013 13:02
Testing custom Authorize Attribute in ASP.NET Web API
using NSubstitute;
using NUnit.Framework;
using System.Collections.ObjectModel;
using System.Net;
using System.Net.Http;
using System.Security.Claims;
using System.Security.Principal;
using System.Threading;
using System.Web.Http;
using System.Web.Http.Controllers;
@benfoster
benfoster / gist:7247748
Created October 31, 2013 10:50
1 asp.net DI
public static class StructureMapConfig
{
public static void Register()
{
ObjectFactory.Initialize(cfg =>
{
cfg.Scan(scan =>
{
scan.LookForRegistries();
scan.TheCallingAssembly();
@benfoster
benfoster / gist:6900744
Last active December 25, 2015 02:09
A better "repository" pattern.
public interface IEntityStore
{
TEntity Get(Guid id) where TEntity : Entity
IQueryable<TEntity> Query() where TEntity : Entity
void Store<TEntity>(TEntity entity) where TEntity : Entity
void Delete<TEntity>(Guid id) where TEntity : Entity
}
@benfoster
benfoster / gist:6505740
Created September 10, 2013 06:39
Subscribing to NServiceBus 3.0 events from ASP.NET
private static IBus ConfigureBus()
{
return NServiceBus.Configure.With()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(false)
.PurgeOnStartup(true)
.UnicastBus()
.LoadMessageHandlers()