/
tools.clj
64 lines (54 loc) · 1.28 KB
/
tools.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
(ns grete.tools
(:require [clojure.string :as s]))
(defn parse-long [n]
(when n
(try (Long/valueOf n)
(catch Exception e))))
(defn s->seq [xs]
(when (seq xs)
(s/split xs #",")))
(defn kebab->screaming-snake [k]
(-> k
name
(s/replace #"-" "_")
s/upper-case))
(defn kebab->dotted [k]
(-> k
name
(s/replace #"-" ".")))
(defn to-coll [x]
(if (coll? x)
x
[x]))
(defn fmv
"apply f to each value v of map m"
[m f]
(into {}
(for [[k v] m]
[k (f v)])))
(defn fmk
"apply f to each key k of map m"
[m f]
(into {}
(for [[k v] m]
[(f k) v])))
(defn random-string []
(apply str
(repeatedly 8 #(rand-nth "abcdefghijklmnopqrstuvwxyz0123456789"))))
(defn stream-fn->name [f]
(-> f
str
(s/replace #"@.*$" "")
(s/replace #"^.*\$" "")
(s/replace "__GT_" "-")
(s/replace "_LT__" "-")
(s/replace "_" "-")
(str ".00" (random-string))))
(defn cloak-secrets [{:keys [ssl-keystore-certificate-chain
ssl-keystore-key] :as config}]
(if (or ssl-keystore-key
ssl-keystore-certificate-chain)
(-> config
(assoc :ssl-keystore-certificate-chain "****")
(assoc :ssl-keystore-key "****"))
config))