Skip to content

Instantly share code, notes, and snippets.

(ns layered-example.data.mysql-cargo-repository
(:refer-clojure :exclude [find])
(:require [layered-example.domain.cargo.cargo-repository :refer [CargoRepository -find -add! -update!]]
[layered-example.domain.cargo.cargo :refer [map->Cargo set-cargo-id]]
[clojure.set :refer [rename-keys]]
[clojure.java.jdbc :as db]))
(defn row->cargo [row]
(-> row
(select-keys [:id :size :voyage_id])
(ns layered-example.domain.cargo.cargo)
(defrecord Cargo [cargo-id size voyage-id])
(defn create-new-cargo [& {:keys [size voyage-id] :as cargo-data}]
{:pre [(integer? size)
(nil? voyage-id)]}
(map->Cargo cargo-data))
(defn book-onto-voyage [a-cargo & {:keys [voyage-id]}]
(ns layered-example.domain.cargo.cargo-repository
(:refer-clojure :exclude [find]))
(def find nil)
(def add! nil)
(def update! nil)
(defprotocol CargoRepository
(-find [this cargo-id])
(-add! [this a-cargo])
autocmd FileType clojure nnoremap <buffer> <F5> :Require!<CR>:RunTests<CR>
0 autocmd FileType clojure nnoremap <buffer> <F6> :Require!<CR>:.RunTests<CR>
@FreekPaans
FreekPaans / rechttprequests
Created June 27, 2013 11:32
record http requests
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading;
using System.Web;
namespace MvcApplication9.Modules {
@FreekPaans
FreekPaans / raw http request.cs
Last active December 19, 2015 00:19
Get the full raw http request from an HttpRequestWrapper
static string GetHttpRequest(HttpRequestBase request) {
using(var stream = new MemoryStream()) {
var writer = new StreamWriter(stream);
writer.Write(request.HttpMethod + " " + request.Path);
var queryStringText = GetRawQueryString(request);
if(!string.IsNullOrEmpty(queryStringText)) {
writer.Write("?"+queryStringText);
}
module Vector =
type private PolarVector = {
r: double;
a: double;
}
type private RectangularVector = {
x: double;
y: double;
}
module Vector =
type PolarVector = {
r: double;
a: double;
}
type RectangularVector = {
x: double;
y: double;
}
function Vector(rep) {
switch (rep) {
case Vector.representations.Polar:
this.vector = { rep: rep, r: arguments[1], a: arguments[2] }
break;
case Vector.representations.Rectangular:
this.vector = { rep: rep, x: arguments[1], y: arguments[2] }
break;
default:
throw Error("Unknown representation " + rep)
function Vector(x, y) {
this.x = x;
this.y = y;
this.Add = function(addend) {
if(!(addend instanceof Vector)) {
throw Error("addend not a Vector")
}
return new Vector(this.x + addend.x, this.y+addend.y)
}