cfmljure updated in Github - a bad bug has been fixed and a "feature" has been removed

6 views
Skip to first unread message

Sean Corfield

unread,
Jun 21, 2013, 1:38:59 PM6/21/13
to cfmljure
Over the last few days I've been tracking down a caching issue in
cfmljure and posted an update to Github last night. The `get()`
function used `fqRef` to check the cache but `ref` to store it so it
was causing Clojure Var references to be created on every single call
(not good!).

In order to fix that properly, I had to remove a "feature" that was
documented but really never intended to be how the library should be
used: the ability to use a dotted-name in `get()`.

The basic example file that ships with cfmljure showed three ways to
use the library:
1. x = clj.get("cfml.example.x");
2. eg = clj.ns("cfml.example"); x = eg._x();
3. clj.install("cfml.example",s); x = s.cfml.example._x();

The recommended way has always been 3. with 1. and 2. only supported
"by accident" but I documented them as a simple way to get up and
running. That first approach no longer works. The second approach
still does (but I don't recommend it).

I would hope most cfmljure users are using the third approach anyway -
an initial `install()` of all the namespaces you plan to use then
direct structural references to code as if you had a nested struct.
That's how we use it at World Singles (in production for over a
year!)...
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)
Reply all
Reply to author
Forward
0 new messages