This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns green-eggs.core | |
(:require [clojure.core.async | |
:as a | |
:refer [>! <! >!! <!! go chan buffer close! thread | |
alts! alts!! timeout onto-chan]] | |
[clj-time.core :as t] | |
[clj-time.coerce :refer [from-date]])) | |
;If you were to implement yourself, you could make a `go` that simply pulls from a channel, and adds to another as a | |
;`[timestamp item]` pair, then finally pushes into an unbounded `chan` that has a transducer that filters based on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(def component-crud | |
(d/function | |
'{:lang "clojure" | |
:params [db entity comp-key] | |
:code (if-let [db-entity (d/pull db '[*] (:db/id entity))] | |
(let [db-comps (comp-key db-entity) | |
user-comps (comp-key entity) | |
s1 (into #{} (map :db/id db-comps)) | |
s2 (into #{} (map :db/id user-comps)) | |
diffs (clojure.set/difference s1 s2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns car-configurator.core | |
(:require [schema.core :as s])) | |
; NO CODE YET ... Just data | |
;---> define some basic attributes | |
(def fuel (s/enum :diesel :petrol :hybrid)) | |
(def engine {:name s/Str :fuel fuel :volume s/Num :bhp s/Int}) ; c02, etc. | |
(def colour {:name s/Str :rgb {:red s/Int :green s/Int :blue s/Int} :hex s/Int}) ; metallic, etc. | |
; STILL NO CODE YET ... Just data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
############ CONFIGURE GIT from this repo | |
git config user.email "[email protected]" | |
git config user.name "Bamboo Dev" | |
# Add a remote master to Heroku (if one does not exist) | |
(git remote -v | grep "^heroku" > /dev/null) || | |
heroku git:remote --app $HEROKU_APP_NAME --org $HEROKU_ORG_NAME |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var express = require('express'), | |
reqpromise = require('request-promise'); | |
function register(req, res, next) { | |
var user = {}; | |
user.username = req.body.username; | |
user.password = req.body.password; | |
user.firstName = req.body.firstName; | |
user.lastName = req.body.lastName; | |
user.email = req.body.username; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public String scrubOut(String line, Collection<String> keys) { | |
if (keys.isEmpty()) return line; | |
else { | |
String key = keys.iterator().next(); | |
keys.remove(key); | |
return scrubOut(line.replaceAll(key + "=\".*?\"", key + "=\"****\""), keys); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def scrubOut(line: String, keys: Seq[String]): String = { | |
// Optimizations... most likely to the left | |
if (!line.contains("=") || !line.contains("\"") || keys.isEmpty || containsKeys(false, line, keys) == false) | |
line | |
else | |
scrubOut(line.replaceAll(keys.head + "=\".*?\"", keys.head + "=\"****\""), keys.tail) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def scrubOut(line: String, keys: List[String]): String = { | |
def containsKeys(found: Boolean = false, local_line: String = line, local_keys: List[String] = keys): Boolean = { | |
if (local_keys.isEmpty || found) found | |
else { | |
containsKeys(line.contains(local_keys.head), local_line, local_keys.tail) | |
} | |
} | |
if (!line.contains("=") || !line.contains("\"") || keys.isEmpty || containsKeys() == false) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def getTotalItemFees = { | |
items.\(0.0d)((accum, item) => accum + (item._1.getFee * item._2) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def getTotalItemFees = { | |
items.foldLeft(0.0d)((accum, item) => accum + (item._1.getFee * item._2) | |
} |