Skip to content

Commit

Permalink
Some cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
rbe committed May 22, 2012
1 parent ff16d9d commit 9849cf7
Show file tree
Hide file tree
Showing 23 changed files with 78 additions and 76 deletions.
15 changes: 0 additions & 15 deletions README

This file was deleted.

21 changes: 21 additions & 0 deletions clas.iml
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Clojure" name="Clojure">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/classes" />
<output-test url="file://$MODULE_DIR$/classes" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="clojure-1.3.0" level="project" />
</component>
</module>

Binary file removed lib/clojure-1.2.1.jar
Binary file not shown.
Binary file removed lib/commons-codec-1.4.jar
Binary file not shown.
Binary file removed lib/commons-io-1.4.jar
Binary file not shown.
Binary file removed lib/dev/clj-stacktrace-0.2.0.jar
Binary file not shown.
Binary file removed lib/dev/clojure-1.2.0.jar
Binary file not shown.
Binary file removed lib/dev/clojure-contrib-1.2.0.jar
Binary file not shown.
Binary file removed lib/dev/commons-codec-1.4.jar
Binary file not shown.
Binary file removed lib/dev/commons-io-1.4.jar
Binary file not shown.
Binary file removed lib/dev/hiccup-0.3.4.jar
Binary file not shown.
Binary file removed lib/dev/ring-core-0.3.8.jar
Binary file not shown.
Binary file removed lib/dev/ring-devel-0.3.8.jar
Binary file not shown.
Binary file removed lib/jetty-6.1.26.jar
Binary file not shown.
Binary file removed lib/jetty-util-6.1.26.jar
Binary file not shown.
Binary file removed lib/lazytest-1.1.2.jar
Binary file not shown.
Binary file removed lib/ring-core-0.3.8.jar
Binary file not shown.
Binary file removed lib/ring-jetty-adapter-0.3.8.jar
Binary file not shown.
Binary file removed lib/ring-servlet-0.3.8.jar
Binary file not shown.
Binary file removed lib/servlet-api-2.5-20081211.jar
Binary file not shown.
Binary file removed lib/swank-clojure-1.2.1.jar
Binary file not shown.
14 changes: 6 additions & 8 deletions project.clj
@@ -1,19 +1,17 @@
(defproject clas "1.0.0-SNAPSHOT"
:description "FIXME: write"
:dependencies [[org.clojure/clojure "1.2.1"]
:dependencies [[org.clojure/clojure "1.3.0"]
[org.clojure/clojure-contrib "1.2.0"]
[com.stuartsierra/lazytest "1.1.2"]
[ring/ring-core "0.3.8"]
[ring/ring-jetty-adapter "0.3.8"]
[ring/ring-core "1.1.0"]
[ring/ring-jetty-adapter "1.1.0"]
[org.danlarkin/clojure-json "1.1"]
[http.async.client "0.2.0"]
[clj-time "0.1.0-SNAPSHOT"]
[com.draines/postal "1.4.0-SNAPSHOT"]
[org.clojars.kjw/mysql-connector "5.1.11"]]
:dev-dependencies
[[ring/ring-devel "0.3.8"]
[swank-clojure "1.2.1"]]
:jvm-opts ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8030"]
:dev-dependencies [[ring/ring-devel "1.1.0"]
[swank-clojure "1.2.1"]]
:jvm-opts ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8030"]
:repositories {"stuartsierra-releases" "http://stuartsierra.com/maven2"}
:source-path "src/:src/appmodule/:src/proxymodule/"
:omit-source true
Expand Down
104 changes: 51 additions & 53 deletions src/com/bensmann/clas/config.clj
Expand Up @@ -11,26 +11,24 @@
(:use (com.bensmann.clas config log))
(:require [com.bensmann.clas [fpersist :as f]]))

(def *config-vars* (agent {
:development-mode {:enabled false :value nil}
}))
(def *config-vars* (agent {:development-mode {:enabled false :value nil}}))

(defn
^{
:doc "Get value for config-var."
:added ""
:user/comment "A comment."
}
:doc "Get value for config-var."
:added ""
:user/comment "A comment."
}
get-cv
[k]
(get-in @*config-vars* [k :value]))
(get-in @*config-vars* [k :value ]))

(defn
^{
:doc "Set value for config-var."
:added ""
:user/comment "A comment."
}
:doc "Set value for config-var."
:added ""
:user/comment "A comment."
}
set-cv
[k v]
(let [cv (get-in @*config-vars* [k])]
Expand All @@ -39,105 +37,105 @@
(dosync
(send *config-vars* assoc k {:value v :enabled false}))
(dosync
(send *config-vars* assoc-in [k :value] v)))))
(send *config-vars* assoc-in [k :value ] v)))))

(defn
^{
:doc "Enable a config-var."
:added ""
:user/comment "A comment."
}
:doc "Enable a config-var."
:added ""
:user/comment "A comment."
}
enable-cv
[k]
(dosync
(send *config-vars* assoc-in [k :enabled] true)))
(send *config-vars* assoc-in [k :enabled ] true)))

(defn
^{
:doc "Disable a config-var."
:added ""
:user/comment "A comment."
}
:doc "Disable a config-var."
:added ""
:user/comment "A comment."
}
disable-cv
[k]
(dosync
(send *config-vars* assoc-in [k :enabled] false)))
(send *config-vars* assoc-in [k :enabled ] false)))

(defn
^{
:doc "Is config-var enabled?"
:added ""
:user/comment "A comment."
}
:doc "Is config-var enabled?"
:added ""
:user/comment "A comment."
}
cv-enabled?
[k]
(get-in @*config-vars* [k :enabled]))
(get-in @*config-vars* [k :enabled ]))

(defn
^{
:doc "Is config-var disabled?"
:added ""
:user/comment "A comment."
}
:doc "Is config-var disabled?"
:added ""
:user/comment "A comment."
}
cv-disabled?
[k]
(not= true (get-in @*config-vars* [k :enabled])))
(not= true (get-in @*config-vars* [k :enabled ])))

(defmacro
^{
:doc "Execute code when a config-var is enabled."
:user/comment "A comment."
}
:doc "Execute code when a config-var is enabled."
:user/comment "A comment."
}
with-cv-enabled
[k & forms]
(if (cv-enabled? k)
`(do ~@forms)))

(defmacro
^{
:doc "Execute code when a config-var is disabled."
:user/comment "A comment."
}
:doc "Execute code when a config-var is disabled."
:user/comment "A comment."
}
with-cv-disabled
[k & forms]
(if (cv-disabled? k)
`(do ~@forms)))

(defn
^{
:doc "Show a config-var in REPL."
:added ""
:user/comment "A comment."
}
:doc "Show a config-var in REPL."
:added ""
:user/comment "A comment."
}
show-cv
[k]
(let [cv (k @*config-vars*)
e (if (:enabled cv) "+" "-")
v (or (:value cv) "no value")]
v (or (:value cv) "no value")]
(format "%s %s = %s" e (name k) v)))

(defn
^{
:doc "Persist actual config-vars in a file."
:added ""
:user/comment "A comment."
}
:doc "Persist actual config-vars in a file."
:added ""
:user/comment "A comment."
}
save-cv
[& file]
(f/save-map (or file "config-vars.clj") @*config-vars*))

(defn
^{
:doc "Load config-vars from file."
:added ""
:user/comment "A comment."
}
:doc "Load config-vars from file."
:added ""
:user/comment "A comment."
}
load-cv
[& file]
(if-let [cv-form (f/load-map (or file "config-vars.clj"))]
(do
(dosync
(send *config-vars* merge cv-form))
(send *config-vars* merge cv-form))
(await *config-vars*)
true)
false))

0 comments on commit 9849cf7

Please sign in to comment.