factor/basis/furnace/alloy/alloy.factor

32 lines
755 B
Factor
Raw Normal View History

! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: kernel sequences db.tuples alarms calendar db fry
2008-07-10 00:41:45 -04:00
furnace.db
furnace.cache
furnace.asides
2008-07-10 00:41:45 -04:00
furnace.sessions
furnace.conversations
furnace.auth.providers
furnace.auth.login.permits ;
IN: furnace.alloy
CONSTANT: state-classes { session aside conversation permit }
: init-furnace-tables ( -- )
2008-09-22 01:36:07 -04:00
state-classes ensure-tables
user ensure-table ;
2008-10-02 13:51:21 -04:00
: <alloy> ( responder db -- responder' )
[ [ init-furnace-tables ] with-db ] keep
[
2008-10-02 13:51:21 -04:00
<asides>
<conversations>
<sessions>
] dip
<db-persistence> ;
2008-10-02 13:51:21 -04:00
: start-expiring ( db -- )
'[
2008-10-02 13:51:21 -04:00
_ [ state-classes [ expire-state ] each ] with-db
] 5 minutes every drop ;