<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -24,14 +24,13 @@
                  (vote-fn sesh feat)
                  (redirect-to (page-url index-page)))))
 
-;;XXX DRY alert
-(define (up-vote! sesh feat)
-  (rec-add-list-prop-elt! feat 'votes (session-id sesh))
-  (store-rec! feat))
+(define (make-gen-voter key)
+  (lambda (sesh feat)
+    (rec-add-list-prop-elt! feat key (session-id sesh))
+    (store-rec! feat)))
 
-(define (down-vote! sesh feat)
-  (rec-add-list-prop-elt! feat 'down-votes (session-id sesh))
-  (store-rec! feat))
+(define up-vote! (make-gen-voter 'votes))
+(define down-vote! (make-gen-voter 'down-votes))
 
 (define (vote-score feat)
   (- </diff>
      <filename>social.ss</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>dc34afd1832de9e47c5b8cb01175726df3650c6f</id>
    </parent>
  </parents>
  <author>
    <name>Rob Hunter</name>
    <email>rob.hunter@gmail.com</email>
  </author>
  <url>http://github.com/vegashacker/lawnelephant/commit/2d86f0d6a7c1f5892219d1d4a92484e6a8c0fcb1</url>
  <id>2d86f0d6a7c1f5892219d1d4a92484e6a8c0fcb1</id>
  <committed-date>2009-03-12T18:43:32-07:00</committed-date>
  <authored-date>2009-03-12T18:43:32-07:00</authored-date>
  <message>abstracted voting to avoid code dupage</message>
  <tree>406c2158cae0976c1cdee4fb4e0cd1a22cbd7187</tree>
  <committer>
    <name>Rob Hunter</name>
    <email>rob.hunter@gmail.com</email>
  </committer>
</commit>
