A structure which allows you to represent a computation as a sequence of steps. The monad allows you to decorate each step with additional processing rules.
- Logging
(ns test-app.foo | |
(:require [clojure.java.io :as io]) | |
(:import [java.util Properties])) | |
;;dotenv (w/ precedence per Colin -- shell > .env.foo > .env) | |
(defn f->p | |
[f] | |
(let [file (io/as-file f)] | |
(when (.exists file) (doto (Properties.) (.load (io/input-stream file)))))) |
function! RunTests() | |
" reload the namespace | |
norm cpr | |
" setup | |
call clearmatches() | |
highlight Red ctermbg=darkred | |
redir => output | |
" use Clojure to do the real work, run tests, |
TL;DR - refactoring of jdbc code discussed by clojure devs, enabled by recent modularity.
https://github.com/primedia/iws-oracle/tree/defsproc
(ns classpath-test.core | |
(:require [clojure.java.shell :refer [sh]] | |
[cemerick.pomegranate :as pom])) | |
(defn make-java | |
[class-name | |
package] | |
(str "package " package ";" | |
"public class " class-name " {" | |
"public static String foo() { return \"bar\"; }" |
(ns iws-oracle.defsproc.generate | |
(:require [clojure.java.jdbc :as jdbc] | |
[clojure.string :as str] | |
[schema.core :as s] | |
[schema.macros :as sm] | |
[iws-oracle.defsproc :refer :all] | |
[iws-oracle.test.core-test :as ct])) | |
(def args-sql (str "select * from all_arguments where lower " | |
"(object_name) = lower (?)")) |
(ns profiling | |
(:require [magrathea.server.routes :refer (app)] | |
[ring.mock.request :as mock] | |
[taoensso.timbre.profiling :as p])) | |
(def req (mock/request | |
:get | |
"/organization/085cafea-868b-4db2-958c-641988553c5b/my-account")) | |
(defn do-with-orgs |
(defn request* [method route-path privilege route-params handler] | |
`(~method ~route-path ~route-params | |
(fn [req#] (let [user# (get-in req# [:session :current-user])] | |
(if (access/has-access? user# ~privilege) | |
(~handler req#) | |
~response-401))))) | |
(defmacro GET* [route-path privilege route-params handler] | |
(request* `GET route-path privilege route-params handler)) |
(ns access.core | |
(:refer-clojure :exclude [==]) | |
(:require [clojure.core.logic :refer :all])) | |
(def all-priv [:smart-controls :view-all-reports :admin :foo :bar]) | |
(def all-roles [{:name :admin :privs priv} | |
{:name :reporting :privs [:view-all-reports]} | |
{:name :store :privs [:smart-controls :view-all-reports]} | |
{:name :foo-role :privs [:foo :bar]}]) |