lazyatom / soup

I suppose it's a document database. Or a tuple store. But really, it's just data sloshing around, waiting to be used.

This URL has Read+Write access

soup / README
100644 170 lines (156 sloc) 10.826 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Soup is a bit of everything, summoned from nothing. Soup is like an imaginary friend - comforting,
and will often talk to you, but when you look closely, they don't exist.
 
Terrifying. And so:
 
  require 'soup'
  Soup.prepare
 
  
  Soup << {
    :name => "James",
    :skills => "Bowstaff, nunchuck"
  }
  
  # ...much later...
  
  s = Soup['james']
  s.skills # => "Bowstaff, nunchuck"
  
  Soup << {
    :mane => "Lush and thick"
    :teeth => "Sharp and ready"
    :position => "Above my bed!!!"
  }
 
  
The point is that you can set any attribute on a Soup data, and it will be persisted without
care. With reckless abandon, really.
 
The data can be stored using anything - Soup doesn't really care much about the underlying
persistence layer. I've written implementations using DataMapper, ActiveRecord and Sequel...
there are other implementations of course. Unknowable implementations.
Terrifying implementations. You Fool! Warren is Dead!
 
 
 
(c) 2008 James Adam, MIT LICENSE. Yeah.
 
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXP
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXY?""" .
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXY?"" ,;ciCCC
  "?YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYY??"" .,;iCCCCCCCCCC
  .,. `""""""???YYYYYYYYYYXXXXXXXYYYYY???""""""" ..,;ciiCCCCCCCCCCC''`
  ```'`CCiiicccccccccc;;,,. .,..,..,;cccciiiCCCCCCC????>''````` .;ciCCC
  Cic;,. `''<<????CCCCCCCCCCCC?????''''''''`````' ..,;;;ccciiiCCCCCCCCCC
  CCCCCCCCCCCCcc;;;,,. .,..,..,..,;;cciiiiCCCCCCCCCCCCCCCCCCCCC??>'`
  ``''?CCCCCCCCCC"'```''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC??""''`` _.,;cciCC
  ic;;,. ````'<?Ciiccc;,,. ````'''`CCCCCC''''''''`' .,;cciiiCCCCCCCCCC?"'`
  CCCCCCCCCiic;._ ```''"<?CCC;;;,,,.,..,...,;;;;;;C777???CC'''''``' _,xiXX
  . ```'''`CCCCCCCiicc;,,,,,.. ```````' .,,,xiiXXXXXXXXXX
  XXXXXxXx,,,. ``````````````````` .,..,..,.xiXiiXiiXXXXXXXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXXXxXxxXxXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXY??"""
  """?YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYY???"""
  = """""???YYXXXXXXXXXXXXXXXXXXXXXXXXXXYYY???"" ,;
   -;ccccc;;,.,.. """""""""" ,;ciCC'``'
  ;;, ```'???CCCCC `''--;CCicc;;, .,;;,,,. .. .,;ciCCCCCCCicc;-
  C'```CCiiiiiCCCCtCiicc;,. ```' . .,;;iCCCCC'' .,;;cccc-''`CCCCCCCCCCCCC;;
  CCCCc;,,.,;CCCcc,,,,..'' .;CC'`'CCCCCCCCCC'' ``' .,;;;cc===`CC''````````'
  .,...```' .C.,.`""""?CCCCC'`CCC''''``' .,.,;ciCCCCCC..,;cciiCtttCCCCCCCtt
   ```' `'`CCCCCCCCCCC' . `' ```' .,. ```CCC''''`CCCCCCCCCCCCC?"''
  .. ``' ```'
  $$$$$$$$$$$$ccc$$$$$$$$"?hccc=Jcc$$hccccccc$$$$$$$$$$$$$cccccc,,,,,ccc,,..
  $$$??hcccci???CCCCCC$$L ,$$$$c $$hcccccJ???LcccccccccJCCC???????CCCC??????
  $$F `?$$$$$$$$$$$$$$$$. ,$$"$$.?$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  $$,. ,$$$$$$$$$$$$$$$$. ,$$ $$h $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$??????????$$
  $$$h $$$$$$$$$$$$$$$$$$ $$$ ?$h ?$$$$$$$$$$$$$$$$$$$$$$$???izc?????????i??
  ???" ?????$$$$$$$"""""" "" ?"" `"?"""$$$$$$$$??<Lr??cr?="" . . .
  ,,,,,,,,,J$$$$$$$$,.,,,,,,,,.. ,$$$$$$P>JP" .,;;,.!!;,.!!!!!!!
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$C3$$ -' --''`!!!!'`' .. `!
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ci??c,,,.,..,. `````
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$JJCCCC????????$$????rrrcccc,
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$C<<$$$$$PF<$$$$
  $$$$$cizccCCCCCCCCCcccc$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$?????)>>J$CLccc$??""
  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$????ii?iiJJJ$$??"""
  $$$$$$$$$$$$$??$$$$????P$$$???iiiiicccccc<<????)Cicc$P"" .. .,;;!!!
  $$$$$CCCCCCC>>J>>>>cccccc>>>??C????CC>cccJ$??""""" -``!!;!' .!!!'
  $$$$$??CCCCCCCCCCCff>>>>>J$$$P"""""""" ..,;;;;;;;!'`.,;;!'''
  ??????????????"""""'' `' .,..,;;;;!!!'```..```' .,.,;;;- `,;'
                      .,. ,;;----'''''''```````' `''`,;;!!'''`..,;;'' ,;
  ---;;;;;;;-----'''''''''``' --- `' .,,ccc$$hcccccc,. `' ,;;!!!'``,;;!!'
  ;;;;,,.,;-------''''''' ,;;!!- .zJ$$$$$$$$$$$$$$$$$$$c,. `' ,;;!!!!' ,;
    ```' -;;;!'''''- `.,.. .zJ$$$$$$$$$$$$$$$$$$$$$$$$$$c, `!!'' ,;!!'
  !!- ' `,;;;;;;;;;;'''''```' ,c$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c, ;!!'' ,;
  ,;;;!!!!!!!!''``.,;;;;!'`' z$$$$$$$$???"""""'.,,.`"?$$$$$$$$$$$ ``,;;!!!
  ;;.. --''```_..,;;! J$$$$$$??,zcd$$$$$$$$$$$$$$$$$$$$$$$$h ``'``'
  ```''' ,;;''``.,.,;;, ,$$$$$$F,z$$$$$$$$$$$$$$$$$$$c,`""?$$$$$h
  !!!!;;;;, --`!''''''' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$h.`"$$$$h .
  `'''``.,;;;!;;;--;; zF,$$$$$$$$$$?????$$$$$$$$$$$$$?????$$r ;?$$$ $.
  !;.,..,.````.,;;;; ,$P'J"$$$$$$P" .,c,,.J$$$$$$$$$"',cc,_`?h.`$$$$ $L
  '``````' .,.. ,$$". $ $$$$P",c$$$$$$$$$$$$$$$$',$$$$$$$$$$ $$$$ $$c,
  !!!!!!!!!!!!!''' J$',$ $.`$$P c$$$$$$$$$$$$$$$$$$,$$$$$$$$$$$ $$$$ $$$$C
     `` J$ ,$P $$ ?$',$$$$???$$$$$$$$$$$$$$$??"""?$$$ <$$$ $$$$$
  c ;, z$F,$$ `$$ $ ?$" "$$$.?$$$ $$$P c??c, ?$.<$$',$$$$$F
  $$h. -!> (' $" $F ,F ?$ $ F ,="?$$c,`$$F $$"z$$',$' ,$$P $h.`$ ?$$$$$r
  $$$$$hc,. ``' J$ $P J$ . $$F L ",,J$$$F <$hc$$ "$L,`??????,J$$$.` z$$$$$
  $$$$$$$$$$c,'' ?F,$',$F.: $$ c$c,,,,,c,,J$$$$$$$ ?$$$c,,,c$$$$$$F. $$$$$$
  `"$$$$$$$$$$$c, $$',$$ :: $$$$$$$$F"',$$$$$$$$$$h ?$$$L;;$$$??$$$$ $$$$$$
     "?$$$$$$$$$$ $$$$$$ : .`F"$$$$$$$$$$$$""""?"""h $$$$$$$"$,J$$$$ $$$$$'
        "?$$$$$$$ $$$$$$.`.` h `$$$$$$$$$$$cccc$$c,zJ$$$$$P' $$$$$P',$$$$P
  $. `""?$$ $$$$$$$ ` "$c "?$$$$$$$$$$$$??$$$$$$$$" ,J$$$P",J$$$$P
  .. `" ?$$$$$$h ?$$c.`?$$$$$$$$$' . <$$$$$' ,$$$" ,$$$$$"
  !!>. . `$$$$$$$h . "$$$c,"$$$$$$$' `' `$$$P ,$$$' ,c$$$$$' ;!
  ```<!!!> `$$$$$$$c "$$$c`?$$$$$ : : $$$ ,$$P' z$$$$$$' ;!!
  $hc ```' ; `$$$$$$$. ?$$c ?$$$$ .: : $$$ $$F ,J$$$$$$' ;!!
  .,.. ' `$$$$$$$ "$$h`$$$$ .' ' $$$ ,$$ ,J$$$$$$' !!!
  ????P `$$$$$$L $$$ $$$F :.: J$$P J$F J$$$$$P ;!!
  -=< ?$$."$$ `$$ ?$$' `' z$$$F $P $$$$$$' !!'
  cc `$$$c`? ?$.`$$hc, cd$$F ,$' $$$$$$ ;!!
                        $$$$c `$$c$$$$$$$$$",c$' $$$$$$ `!!
                        $$$$$ `?$$$$$$$$$$$$P' $$$$$$> ..
                        $$$$$ `"?$$$$$$$P" $$$$$$L $$c,
            !! <$$$$$ zc,`"""', <$$$$$$.`$$$$cc,
            !! J$$$$P `$$$$$$$' !' $$$$$$L `$$$$$$h
           ;, $$$$$L `! J$$$$$',!! $$$$$$$ `$$$$$$
            ' <$$$$$. ! $$$$$$ !! ?$$$$$$ `$$$$$
                     ,$$$$$$$c `,`???? ;' c,?$$$$' `?$$$
                     $$$$$$$?? `!;;;;! . `h."?$P `$$$
                    ,$$$$$$$h. `''' `' `$$$P `?$
                     $$$$$$$$h `!' `"' `
                    `$$$$$$$$F !; ! ;,
                     `$$$$$$$' `!!> `!
  c, ;, `?$$$$P !!> .
  $F !!> `""' `!! ;!> <-
  $F `!!' ;!; ' `! <!> ;
  $F `' <! !!! !!> !!
  ?' `' !!! !!! !!> !!
           !!' <!! ;!!! `' ;
          ;!! !! !!!! !'
          !!! `' !!! ' ;
          !! ;!!' !
                                   !!! ;! !
                                  <!!! )' `!
            ,;;> ;!!! `!
            `'' ;!!! ! `!
                ;! ;!!! ,$$c, `
              !'' ;!!! ' ,c$$$$$$c.
  > ; !!! ?$$$$$$$$$
  !!> ;!! .!!! .!> "?$$$$$$$
  <! `! ,; ;!! !!!! !! `"?$$$$
   . ' ' ;!!! .!!!! !! . `"?$
   `' <!!' .!!!!!! !!!' ! > `
                  .!!! <!!'`!!! .!!!!; !!>
                  !!! <!!' !! ;!!!!!! (' ;,
                 <!! !!!' !!! !!!'!!! !> `!
                 !!' !!!' `!!';!> !! <! `' `! !>.
                 ' ;<!!' .!!! !!' <!' ; `!! ; `! !!!>
              .<!>;!!!' !!! `!! <!! .. ' ' !!!' ;,
             <!!! <!! ; !!! !!>;!!''! J$$c `!!; !!>
            ;!!! ;!! <! !!> !! `!! !' J$$$$hr `'' !!!,;;
            ;!!! !! <!! <!! !' ;!! ' <$$$$$$$. <!!!'!
            !!! !;<!!' !!! ;! !!> $$$$$$$$$$. `' !
           `!!! !!!!!' !!! !! `!!! ?$$$$$$$??$c !!>;
           ;!! ;!!!!! ;!!> !! <!!> ?$$$$$$c,`$$. `!!!
           !!! !!! !' `!!> !! !!! "?$$$$$$ "?$c `<!
          ;!! !! ;! !!!> ! ;!!!, "$$$$$$c,"?$c,
          ;!! !! ;! !!!! ! `!!!! "$$$$$$c ?$$h.
          !!!> !! !! !!!! !!! "?$$$$c "$$$c,
          !!!' ' !! `!!! `! "$$$$h.`?$$$c,
         <!!!> <!! `!!! !> ?$$$$$c ?$$$$h.
         `!!! `!! !!! `' "?$$$$h.`?$$$$
          `!!> !! `!! `?$$$$$$$$$$
           `!' !! `' "$$$$$$$$$
                  `!> ?$$$$$$$
                   `! `"?$$$$
                    `- ;! `"$$
                                                                          `?
(http://www.edvard-munch.com/Paintings/other_artists/scream_ascii_3.htm)