]> gitweb.factorcode.org Git - factor.git/blob - basis/furnace/auth/providers/assoc/assoc.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / basis / furnace / auth / providers / assoc / assoc.factor
1 ! Copyright (C) 2008 Slava Pestov.\r
2 ! See http://factorcode.org/license.txt for BSD license.\r
3 USING: accessors assocs kernel furnace.auth.providers ;\r
4 IN: furnace.auth.providers.assoc\r
5 \r
6 TUPLE: users-in-memory assoc ;\r
7 \r
8 : <users-in-memory> ( -- provider )\r
9     H{ } clone users-in-memory boa ;\r
10 \r
11 M: users-in-memory get-user ( username provider -- user/f )\r
12     assoc>> at ;\r
13 \r
14 M: users-in-memory update-user ( user provider -- ) 2drop ;\r
15 \r
16 M: users-in-memory new-user ( user provider -- user/f )\r
17     [ dup username>> ] dip assoc>>\r
18     2dup key? [ 3drop f ] [ pick [ set-at ] dip ] if ;\r