You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
3.0 KiB
Clojure

(ns user
(:require [clojure.tools.deps.alpha.repl :refer [add-lib]]
[clojure.tools.namespace.repl :refer [set-refresh-dirs]]
[integrant.repl :as repl]
[taoensso.carmine :as car]
[taoensso.carmine.message-queue :as car-mq]
[integrant.repl.state :as state]
[migratus.core :as migratus]
[com.darklimericks.server.handlers :as handlers]
[integrant.core :as ig]
[hawk.core :as hawk]
[clojure.java.io :as io]
[com.darklimericks.server.limericks :as limericks]
[com.darklimericks.server.util :as util]
[com.owoga.prhyme.limerick :as limerick]
[com.darklimericks.server.system]
[reitit.core :as reitit]))
(comment
(-> state/system
:app/router
(reitit/routes))
)
(set-refresh-dirs "src" "dev" "resources")
(defn add-project-dep
([lib-name lib-version]
(let [dep-name (symbol lib-name)
dep-version (name lib-version)]
(add-lib dep-name {:mvn/version dep-version}))))
(defn- clojure-file? [_ {:keys [file]}]
(re-matches #"[^.].*(\.clj|\.edn)$" (.getName file)))
(defn- auto-reset-handler [ctx event]
(binding [*ns* *ns*]
(integrant.repl/reset)
ctx))
(defn auto-reset []
(hawk/watch! [{:paths ["src/" "resources/" "dev/"]
:filter clojure-file?
:handler auto-reset-handler}]))
(defn init []
(repl/halt)
(-> "server/config.edn"
io/resource
slurp
ig/read-string
ig/prep
constantly
repl/set-prep!)
(repl/prep)
(repl/init))
(defn reset []
(repl/halt))
(comment
(init)
(auto-reset)
(-> state/system :worker/limerick-gen)
(car/wcar
(-> state/system :database.kv/connection)
(car-mq/enqueue "limericks" '((A 9) (A 9) (B 5) (B 5) (A 9))))
(car/wcar
(-> state/system :database.kv/connection)
(car/ping)
(car/set "foo" "bar")
(car/set "baz" "buzz")
(car/get "baz"))
(limericks/get-artist-and-album-for-new-limerick (-> state/system :database.sql/connection))
(repeatedly
50
(fn []
(let [handler (handlers/limerick-generation-post-handler
(-> state/system :database.sql/connection)
(-> state/system :app/cache))]
(handler {:params {:scheme "A9 A9 B5 B5 A9" #_'((A 9) (A 9) (B 5) (B 5) (A 9))}}))))
(reitit/match-by-path
(-> state/system :app/router)
"/limericks/1/1")
(let [router (-> state/system :app/router)]
(util/route-name->path {::reitit/router router}
:com.darklimericks.server.system/artist))
(let [router (-> state/system :app/router)]
(util/route-name->path
{::reitit/router router}
:com.darklimericks.server.system/artist
{:artist-id 1}))
(let [router (-> state/system :app/router)]
(->> :com.darklimericks.server.system/artist
(#(reitit/match-by-name (::reitit/router {::reitit/router router})
%
{:artist-id 1}))
(reitit/match->path)))
)