Skip to content

Instantly share code, notes, and snippets.

View mgroves's full-sized avatar

Matthew D. Groves mgroves

View GitHub Profile
@mgroves
mgroves / gist:1096272
Created July 21, 2011 00:49
pig latin kata
function IsVowel(letter)
{
return ['a','e','i','o','u'].some(function(vowel){
return vowel == letter;
});
}
function PigLatin(word)
{
if(IsVowel(word[0])) {
@mgroves
mgroves / gist:1101799
Created July 23, 2011 19:44
scalar constraint
using System;
using PostSharp.Constraints;
using PostSharp.Extensibility;
namespace PostsharpArchitecturalConstraints.Constraints
{
[Serializable]
[MulticastAttributeUsage(MulticastTargets.Class)]
public class NHEntityAttribute : MulticastAttribute, IScalarConstraint
{
@mgroves
mgroves / gist:1104633
Created July 25, 2011 17:23
internal
// this is in one assembly
using PostSharp.Constraints;
namespace PostsharpArchitecturalConstraints.API.Implementation
{
[Internal]
public class PublicAndInternal
{
public string GetValue()
// ApiA.cs
using PostSharp.Constraints;
namespace PostsharpArchitecturalConstraints.API.NamespaceA
{
[Friend]
internal class ApiA
{
public string GetFriendsName()
{
@mgroves
mgroves / gist:1510659
Created December 22, 2011 15:18
instead of using PostSharp for IoC
// use the service locator
ServiceLocator.Context = ((Context)this).ApplicationContext.ApplicationContext; // you only need to do this once in the lifetime of your Android app
_presenter = ServiceLocator.Get(typeof(IMainPresenter));
// or a plain old 'new'
_presenter = new MainPresenter(new AndroidSqlitePortfolioRepository((Context)this))
using System;
using Moq;
using Ninject;
using NUnit.Framework;
using PostSharp.Aspects;
namespace mockobjectsinaspect
{
[SomeAspect]
public class MyWcfClass
// latestcommentswidgetdriver.cs
using LatestComments.Models;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
namespace LatestComments.Drivers
{
public class LatestCommentsWidgetDriver : ContentPartDriver<LatestCommentsWidgetPart>
{
// GET
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
x.For<IDbConnection>().HttpContextScoped().Use(c => GetSqlConnection());
});
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
x.For<IDbConnection>().Use(c => GetSqlConnection());
});
@mgroves
mgroves / gist:1747720
Created February 5, 2012 20:01
DynamicProxy example
using System;
using Castle.DynamicProxy;
namespace DynamicProxyExample1
{
class Program
{
static void Main(string[] args)
{
var generator = new ProxyGenerator();