From 2eb89a6872e4c016990e753afbf330710a3dd890 Mon Sep 17 00:00:00 2001 From: Joe Littlejohn Date: Fri, 12 Aug 2016 15:10:48 +0100 Subject: [PATCH] Fix require-sql to use . instead of / in internal ns name --- src/yesql/core.clj | 5 +++-- test/yesql/core_test.clj | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/yesql/core.clj b/src/yesql/core.clj index 6257f7d..4e1cbb8 100644 --- a/src/yesql/core.clj +++ b/src/yesql/core.clj @@ -1,7 +1,8 @@ (ns yesql.core (:require [yesql.util :refer [slurp-from-classpath]] [yesql.generate :refer [generate-var]] - [yesql.queryfile-parser :refer [parse-tagged-queries]])) + [yesql.queryfile-parser :refer [parse-tagged-queries]] + [clojure.string :as str])) (defn defqueries "Defines several query functions, as defined in the given SQL file. @@ -47,7 +48,7 @@ (throw (Exception. "Missing an :as or a :refer"))) (let [current-ns (ns-name *ns*) ;; Keep this .sql file's defqueries in a predictable place: - target-ns (symbol (str "yesquire/" sql-file))] + target-ns (-> (str "yesquire/" sql-file) (str/replace #"/" ".") symbol)] `(do (ns-unalias *ns* '~as) (create-ns '~target-ns) diff --git a/test/yesql/core_test.clj b/test/yesql/core_test.clj index b752f07..89cca85 100644 --- a/test/yesql/core_test.clj +++ b/test/yesql/core_test.clj @@ -109,6 +109,10 @@ (expect var? #'combined/edge) +(expect first (combined/edge {} {:connection yesql.core-test/derby-db})) + (require-sql ["yesql/sample_files/combined_file.sql" :refer [the-time]]) (expect var? #'the-time) + +(expect first (the-time {} {:connection yesql.core-test/derby-db}))