Skip to content

Instantly share code, notes, and snippets.

@Deraen
Deraen / access.cljs
Created August 26, 2015 06:47
Hiding stuff on Reagent based on Users role
(ns frontend.access
(:require [reagent.ratom :refer-macros [reaction]]
[frontend.app :refer [app]]
[common.domain :as domain]))
(def admin #{:domain/admin})
(def user #{:domain/user})
(defn role []
(reaction app [:session :user :role]))
@Deraen
Deraen / foo-temp-angular-fileupload.js
Last active August 29, 2015 13:56
Angular function for fileupload
fun.uploadImage = function($files, $event, status) {
var def = $q.defer();
if (!$files) return def.promise;
status.error = null;
status.active = true;
status.perc = 0;
var req;
@Deraen
Deraen / knockout-selectize.js
Last active August 29, 2015 13:57
Knockout + Selectize.js
// Use
// ko.bindingHandlers.fooSearch = createAutocomplete({load: ...});
// viewModel.idHere = "123";
// viewModel.objHere = {_id: "123", name: "foo"};
// viewModel.objHere.subscribe(function(val) { ... selected obj! ... });
//
// <input type="text" data-bind="value: idHere, fooSearch: objHere"/>
function createAutocomplete(override) {
return {
@Deraen
Deraen / angular-utils.js
Last active August 29, 2015 13:57
angular-utils.js
angular.module('fooApp')
.factory('Util', function() {
var utils = {};
// Would be passed by value if $scope.foo was given directly.
// As scope is object it is passed by reference.
utils.Pending = function(scope, target) {
scope[target] = false;
this.start = function() {
@Deraen
Deraen / angular-selectize.js
Last active August 29, 2015 13:57
angular-selectize.js
/* jshint camelcase: false */
/* global $ */
// TODO: multiple items
angular.module('fooApp')
.factory('autocompleteFactory', function() {
var factory = function(overwrites) {
return {
restrict: 'E',
replace: true,
@Deraen
Deraen / http-kit-restart.clj
Created April 5, 2014 18:31
http-kit-restart.clj
(ns seitti.server
(:require [org.httpkit.server :refer [run-server]]
[clojure.tools.namespace.repl :as ns-tools]
[seitti.env :as env]
[seitti.handler :as handler]))
(def http-app (atom nil))
(defn -main [& args]
(reset! http-app (run-server handler/app {:port env/port})))
@Deraen
Deraen / clojure_indent_test.clj
Last active August 29, 2015 13:59
Indent test
(defmethod restructure-param :path-params
[_ {:keys [lets letks parameters] :as acc}]
"restructures path-params by plumbing letk notation. generates
synthetic defs for the models. example:
:path-params [id :- long name :- string]"
(if-let [path-params (:path-params parameters)]
(let [schema (fnk-schema path-params)
model-name (gensym "path-params-")
_ (eval `(def ~model-name ~schema))
coerced-model (gensym)]
@Deraen
Deraen / foobar.clj
Created May 7, 2014 21:11
Random Core.async exercise
(ns foobar.core
(:require [clojure.core.async :as async :refer [chan go timeout >! alts! alts!! <! <!! close!]]))
(defn -main []
(let [running (atom true)
num-cars 20
ferry-queue (chan)
ferry (chan)
intersection (chan)
msgs (chan)
@Deraen
Deraen / daemon.clj
Last active August 29, 2015 14:02
Clojure daemon (jsvc, centos initscript) NOTE: Not very complete initscript
(ns foobar.daemon
(:require [foobar.main :as main])
(:import [org.apache.commons.daemon Daemon DaemonContext])
(:gen-class
:implements [org.apache.commons.daemon.Daemon]))
(def state (atom nil))
;; Daemon implementation
(defn -init [this ^DaemonContext context])
@Deraen
Deraen / working-with-data.clj
Created August 20, 2014 10:49
Clojure bootcamp, 20.8.2014, muistiinpanot / hands-on
(ns working-with-data
(:require [metosin.dataset.pizzas :refer [pizzas]]))
(conj pizzas {:name "Speciale"})
; v1
(filter (fn [pizza]
(if (< (get pizza :price) 8)
true))
pizzas)