Skip to content

Instantly share code, notes, and snippets.

@llasram
Forked from gtrak/gist:3314988
Created August 10, 2012 15:36

Revisions

  1. llasram revised this gist Aug 10, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gistfile1.clj
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@

    (defmacro make-servlets
    [& servlets]
    `(do ~(map #(list* `make-servlet %&) (partition 2 servlets))
    `(do ~(map #(list* `make-servlet %&) (partition 2 servlets))))

    (make-servlets
    my.servlet.class.Servlet hr/app)
  2. llasram revised this gist Aug 10, 2012. 1 changed file with 5 additions and 11 deletions.
    16 changes: 5 additions & 11 deletions gistfile1.clj
    Original file line number Diff line number Diff line change
    @@ -1,22 +1,16 @@
    (def servlets
    "Map of servlet classes to ring handlers, add here. Needs to be quoted so symbols resolve to themselves."
    '{:my.servlet.class.Servlet hr/app})

    (defmacro make-servlet
    "Call to generate a servlet class given the class name and a ring handler."
    [servlet handler]
    (let [servlet (name servlet)
    prefix (str servlet "-")]
    (let [servlet (name servlet), prefix (str servlet "-")]
    `(do (println "Compiling Servlet" ~servlet)
    (gen-class :name ~servlet
    :prefix ~prefix
    :extends javax.servlet.http.HttpServlet)
    (s/defservice ~prefix ~handler))))

    (defmacro make-servlets
    []
    (let [gens (for [[name handler] servlets]
    `(make-servlet ~name ~handler))]
    `(do ~@gens)))
    [& servlets]
    `(do ~(map #(list* `make-servlet %&) (partition 2 servlets))

    (make-servlets)
    (make-servlets
    my.servlet.class.Servlet hr/app)
  3. @gtrak gtrak revised this gist Aug 10, 2012. 1 changed file with 9 additions and 9 deletions.
    18 changes: 9 additions & 9 deletions gistfile1.clj
    Original file line number Diff line number Diff line change
    @@ -4,19 +4,19 @@

    (defmacro make-servlet
    "Call to generate a servlet class given the class name and a ring handler."
    [servlet# handler#]
    (let [servlet# (name servlet#)
    prefix# (str servlet# "-")]
    `(do (println "Compiling Servlet" ~servlet# ~prefix#)
    (gen-class :name ~servlet#
    :prefix ~prefix#
    [servlet handler]
    (let [servlet (name servlet)
    prefix (str servlet "-")]
    `(do (println "Compiling Servlet" ~servlet)
    (gen-class :name ~servlet
    :prefix ~prefix
    :extends javax.servlet.http.HttpServlet)
    (s/defservice ~prefix# ~handler#))))
    (s/defservice ~prefix ~handler))))

    (defmacro make-servlets
    []
    (let [gens# (for [[name handler] servlets]
    (let [gens (for [[name handler] servlets]
    `(make-servlet ~name ~handler))]
    `(do ~@gens#)))
    `(do ~@gens)))

    (make-servlets)
  4. @gtrak gtrak created this gist Aug 10, 2012.
    22 changes: 22 additions & 0 deletions gistfile1.clj
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,22 @@
    (def servlets
    "Map of servlet classes to ring handlers, add here. Needs to be quoted so symbols resolve to themselves."
    '{:my.servlet.class.Servlet hr/app})

    (defmacro make-servlet
    "Call to generate a servlet class given the class name and a ring handler."
    [servlet# handler#]
    (let [servlet# (name servlet#)
    prefix# (str servlet# "-")]
    `(do (println "Compiling Servlet" ~servlet# ~prefix#)
    (gen-class :name ~servlet#
    :prefix ~prefix#
    :extends javax.servlet.http.HttpServlet)
    (s/defservice ~prefix# ~handler#))))

    (defmacro make-servlets
    []
    (let [gens# (for [[name handler] servlets]
    `(make-servlet ~name ~handler))]
    `(do ~@gens#)))

    (make-servlets)