makura 2009.05.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +340 -0
- data/COPYING +18 -0
- data/MANIFEST +42 -0
- data/README.md +41 -0
- data/Rakefile +32 -0
- data/bin/makura +12 -0
- data/example/blog.rb +50 -0
- data/example/couch/map/author_all.js +5 -0
- data/example/couch/map/author_posts.js +5 -0
- data/example/couch/map/post_all.js +5 -0
- data/example/couch/map/post_comments.js +5 -0
- data/example/couch/reduce/sum_length.js +7 -0
- data/lib/makura.rb +66 -0
- data/lib/makura/database.rb +216 -0
- data/lib/makura/design.rb +37 -0
- data/lib/makura/error.rb +14 -0
- data/lib/makura/http_methods.rb +19 -0
- data/lib/makura/layout.rb +64 -0
- data/lib/makura/model.rb +370 -0
- data/lib/makura/plugin/localize.rb +68 -0
- data/lib/makura/plugin/pager.rb +56 -0
- data/lib/makura/server.rb +203 -0
- data/lib/makura/uuid_cache.rb +23 -0
- data/lib/makura/version.rb +3 -0
- data/makura.gemspec +31 -0
- data/tasks/authors.rake +30 -0
- data/tasks/bacon.rake +66 -0
- data/tasks/changelog.rake +18 -0
- data/tasks/copyright.rake +21 -0
- data/tasks/gem.rake +22 -0
- data/tasks/gem_installer.rake +76 -0
- data/tasks/git.rake +46 -0
- data/tasks/grancher.rake +12 -0
- data/tasks/manifest.rake +4 -0
- data/tasks/metric_changes.rake +32 -0
- data/tasks/rcov.rake +23 -0
- data/tasks/release.rake +69 -0
- data/tasks/reversion.rake +8 -0
- data/tasks/todo.rake +27 -0
- data/tasks/traits.rake +21 -0
- data/tasks/yard.rake +4 -0
- data/tasks/ycov.rake +22 -0
- metadata +105 -0
data/CHANGELOG
ADDED
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
[d4565ac | 2009-05-27 02:23:09 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
2
|
+
|
|
3
|
+
* Fix rakefile
|
|
4
|
+
|
|
5
|
+
[33f27af | 2009-05-27 02:21:44 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
6
|
+
|
|
7
|
+
* Update tasks
|
|
8
|
+
|
|
9
|
+
[4fd7977 | 2009-05-11 03:52:51 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
10
|
+
|
|
11
|
+
* Revert changes to get going on 0.9.0
|
|
12
|
+
|
|
13
|
+
[255e65c | 2009-04-21 17:14:06 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
14
|
+
|
|
15
|
+
* Version 2009.04.22
|
|
16
|
+
|
|
17
|
+
[307642a | 2009-04-21 17:12:55 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
18
|
+
|
|
19
|
+
* Add Makura::constant and use it in convert_raw
|
|
20
|
+
|
|
21
|
+
[e6370eb | 2009-04-21 17:10:12 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
22
|
+
|
|
23
|
+
* Make Makura run on 1.8 again
|
|
24
|
+
|
|
25
|
+
[4f8cc31 | 2009-04-21 17:09:59 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
26
|
+
|
|
27
|
+
* Fix references to _view
|
|
28
|
+
|
|
29
|
+
[513495b | 2009-04-21 06:15:47 UTC] Tadahiko Uehara <kikofx@gmail.com>
|
|
30
|
+
|
|
31
|
+
* Make convert_raw work with namespaced model.
|
|
32
|
+
|
|
33
|
+
[e2eee79 | 2009-04-19 04:58:12 UTC] Tadahiko Uehara <kikofx@gmail.com>
|
|
34
|
+
|
|
35
|
+
* Support for namespaced models by using namespace as layout's dir name.
|
|
36
|
+
|
|
37
|
+
MyApp::Admin::Foo #=> .couch/my_app/admin/map/foo_xxx.js
|
|
38
|
+
|
|
39
|
+
[8c9aa24 | 2009-03-28 08:01:56 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
40
|
+
|
|
41
|
+
* Version 2009.03.28
|
|
42
|
+
|
|
43
|
+
[da5cebc | 2009-03-28 08:00:13 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
44
|
+
|
|
45
|
+
* Put version in another file for easier management
|
|
46
|
+
|
|
47
|
+
[534a2bc | 2009-03-28 07:59:15 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
48
|
+
|
|
49
|
+
* Add Rakefile and some tasks
|
|
50
|
+
|
|
51
|
+
[643fa64 | 2009-03-01 13:23:15 UTC] Tadahiko Uehara <kikofx@gmail.com>
|
|
52
|
+
|
|
53
|
+
* Use Array() instead of to_a for Ruby 1.9 compatibility.
|
|
54
|
+
|
|
55
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
|
56
|
+
|
|
57
|
+
[3d77ce6 | 2009-03-21 05:07:04 UTC] Preston Marshall <preston@synergy-solutions.biz>
|
|
58
|
+
|
|
59
|
+
* new gem
|
|
60
|
+
|
|
61
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
|
62
|
+
|
|
63
|
+
[9eb26bb | 2009-03-21 05:00:38 UTC] Preston Marshall <preston@synergy-solutions.biz>
|
|
64
|
+
|
|
65
|
+
* Updated view path for latest svn (not sure when it was added, but it works with this) temp views may be affected too, but have not tried them yet
|
|
66
|
+
|
|
67
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
|
68
|
+
|
|
69
|
+
[6b23e9c | 2009-03-21 17:00:04 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
70
|
+
|
|
71
|
+
* remove Model#saved?, that makes Model#save work as expected
|
|
72
|
+
|
|
73
|
+
[c83c392 | 2009-03-21 16:55:57 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
74
|
+
|
|
75
|
+
* Remove last traces of NotNaughty from example
|
|
76
|
+
|
|
77
|
+
[19a63b5 | 2009-03-02 01:08:08 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
78
|
+
|
|
79
|
+
* Fix inspect for Database
|
|
80
|
+
|
|
81
|
+
[5ae5345 | 2009-03-01 14:23:15 UTC] Tadahiko Uehara <kikofx@gmail.com>
|
|
82
|
+
|
|
83
|
+
* Use Array() instead of to_a for Ruby 1.9 compatibility.
|
|
84
|
+
|
|
85
|
+
[1ff34ab | 2009-02-28 14:24:53 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
86
|
+
|
|
87
|
+
* Shame on me, forgot to add that change... will push new version tomorrow
|
|
88
|
+
|
|
89
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
90
|
+
|
|
91
|
+
[dfc353a | 2009-02-28 14:23:39 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
92
|
+
|
|
93
|
+
* Version 2009.03.01, removed json gem dependency as ruby 1.9.1 has it in stdlib
|
|
94
|
+
|
|
95
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
96
|
+
|
|
97
|
+
[29fe7ec | 2009-02-28 15:24:53 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
98
|
+
|
|
99
|
+
* Shame on me, forgot to add that change... will push new version tomorrow
|
|
100
|
+
|
|
101
|
+
[349be0a | 2009-02-28 15:23:39 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
102
|
+
|
|
103
|
+
* Version 2009.03.01, removed json gem dependency as ruby 1.9.1 has it in stdlib
|
|
104
|
+
|
|
105
|
+
[ad1a97d | 2009-02-23 00:51:19 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
106
|
+
|
|
107
|
+
* Proper fallback to default_language
|
|
108
|
+
|
|
109
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
110
|
+
|
|
111
|
+
[4b89942 | 2009-02-16 07:32:02 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
112
|
+
|
|
113
|
+
* Some docs for localize plugin
|
|
114
|
+
|
|
115
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
116
|
+
|
|
117
|
+
[b79a538 | 2009-02-16 07:31:55 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
118
|
+
|
|
119
|
+
* Support for default language in localize plugin
|
|
120
|
+
|
|
121
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
122
|
+
|
|
123
|
+
[de84c8b | 2009-02-18 01:45:30 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
124
|
+
|
|
125
|
+
* Update version
|
|
126
|
+
|
|
127
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
128
|
+
|
|
129
|
+
[4d4a4c1 | 2009-02-16 07:24:51 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
130
|
+
|
|
131
|
+
* Add plugin/localize
|
|
132
|
+
|
|
133
|
+
Signed-off-by: Tadahiko Uehara <kikofX@gmail.com>
|
|
134
|
+
|
|
135
|
+
[83e9177 | 2009-02-23 01:51:19 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
136
|
+
|
|
137
|
+
* Proper fallback to default_language
|
|
138
|
+
|
|
139
|
+
[a72c2c6 | 2009-02-18 02:45:30 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
140
|
+
|
|
141
|
+
* Update version
|
|
142
|
+
|
|
143
|
+
[1feac5a | 2009-02-16 08:32:02 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
144
|
+
|
|
145
|
+
* Some docs for localize plugin
|
|
146
|
+
|
|
147
|
+
[4ab5df7 | 2009-02-16 08:31:55 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
148
|
+
|
|
149
|
+
* Support for default language in localize plugin
|
|
150
|
+
|
|
151
|
+
[cd045a1 | 2009-02-16 08:24:51 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
152
|
+
|
|
153
|
+
* Add plugin/localize
|
|
154
|
+
|
|
155
|
+
[fddd7aa | 2009-02-13 05:41:25 UTC] Tadahiko Uehara <kikofx@gmail.com>
|
|
156
|
+
|
|
157
|
+
* fix typo.
|
|
158
|
+
|
|
159
|
+
Signed-off-by: Michael Fellinger <m.fellinger@gmail.com>
|
|
160
|
+
|
|
161
|
+
[5469f31 | 2009-02-13 06:41:25 UTC] Tadahiko Uehara <kikofx@gmail.com>
|
|
162
|
+
|
|
163
|
+
* fix typo.
|
|
164
|
+
|
|
165
|
+
[025964f | 2009-01-15 02:35:37 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
166
|
+
|
|
167
|
+
* Sofa is now called Makura
|
|
168
|
+
|
|
169
|
+
[e8bfaf9 | 2008-12-29 17:09:46 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
170
|
+
|
|
171
|
+
* Don't rely on NotNaughty!
|
|
172
|
+
|
|
173
|
+
[fb10169 | 2008-12-24 04:56:55 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
174
|
+
|
|
175
|
+
* Release 2008.12.24
|
|
176
|
+
|
|
177
|
+
[e4b2a88 | 2008-12-24 04:56:29 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
178
|
+
|
|
179
|
+
* Layout::PATH
|
|
180
|
+
|
|
181
|
+
[2156ed1 | 2008-12-24 04:55:37 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
182
|
+
|
|
183
|
+
* Remove Rack as dependency
|
|
184
|
+
|
|
185
|
+
[b9a9724 | 2008-12-21 08:51:18 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
186
|
+
|
|
187
|
+
* Support for map/reduce templating
|
|
188
|
+
|
|
189
|
+
[411786e | 2008-12-19 12:08:11 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
190
|
+
|
|
191
|
+
* Better error message if resource not found
|
|
192
|
+
|
|
193
|
+
[6579ae3 | 2008-12-16 02:57:40 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
194
|
+
|
|
195
|
+
* Fix usage of pretty_from_md5
|
|
196
|
+
|
|
197
|
+
[514c7d6 | 2008-12-15 07:03:43 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
198
|
+
|
|
199
|
+
* Update gemspec
|
|
200
|
+
|
|
201
|
+
[05640a9 | 2008-12-15 07:03:02 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
202
|
+
|
|
203
|
+
* Remove dependency on not_naughty
|
|
204
|
+
|
|
205
|
+
[c72821d | 2008-12-15 07:02:44 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
206
|
+
|
|
207
|
+
* Convert MD5 from CouchDB uuid generator into base 62
|
|
208
|
+
|
|
209
|
+
[405d360 | 2008-12-14 06:40:52 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
210
|
+
|
|
211
|
+
* Implement Model#hash and Model#eql?
|
|
212
|
+
|
|
213
|
+
[87c709e | 2008-12-13 04:18:14 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
214
|
+
|
|
215
|
+
* Model::multi_fetch and Model::multi_fetch_with_docs
|
|
216
|
+
|
|
217
|
+
[7e369ed | 2008-12-12 06:27:34 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
218
|
+
|
|
219
|
+
* Ignore nil value parameters for the uri
|
|
220
|
+
|
|
221
|
+
[5decf5c | 2008-12-12 06:03:28 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
222
|
+
|
|
223
|
+
* Rescue correct error on Model::[]
|
|
224
|
+
|
|
225
|
+
[bc28450 | 2008-12-11 10:11:57 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
226
|
+
|
|
227
|
+
* Disable caching automatically if memcached isn't available
|
|
228
|
+
|
|
229
|
+
[aea3dd7 | 2008-12-10 14:45:16 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
230
|
+
|
|
231
|
+
* Add Model#detach to get rid of attachments
|
|
232
|
+
|
|
233
|
+
[1705ad2 | 2008-12-08 05:31:11 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
234
|
+
|
|
235
|
+
* CACHE_TTL is now 5 by default
|
|
236
|
+
|
|
237
|
+
[e6aa3f9 | 2008-12-04 08:31:07 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
238
|
+
|
|
239
|
+
* Make only one request per relation
|
|
240
|
+
|
|
241
|
+
[c47cea0 | 2008-12-04 08:30:39 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
242
|
+
|
|
243
|
+
* Add Model#to_json
|
|
244
|
+
|
|
245
|
+
[aceb7e7 | 2008-12-04 08:30:18 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
246
|
+
|
|
247
|
+
* Add support for caching GET requests in memcached
|
|
248
|
+
|
|
249
|
+
[c055759 | 2008-12-04 05:36:15 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
250
|
+
|
|
251
|
+
* a little bit better error handling
|
|
252
|
+
|
|
253
|
+
[204f003 | 2008-12-03 02:49:13 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
254
|
+
|
|
255
|
+
* Version 2008.12.03
|
|
256
|
+
|
|
257
|
+
[2eec148 | 2008-12-01 15:58:20 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
258
|
+
|
|
259
|
+
* Avoid storing empty maps, bad bad mojo
|
|
260
|
+
|
|
261
|
+
[617b9f6 | 2008-11-29 06:53:53 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
262
|
+
|
|
263
|
+
* Version 2008.11.29
|
|
264
|
+
|
|
265
|
+
[cbe43fa | 2008-11-29 06:53:14 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
266
|
+
|
|
267
|
+
* Remove debugging output
|
|
268
|
+
|
|
269
|
+
[67f811e | 2008-11-28 07:52:46 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
270
|
+
|
|
271
|
+
* Compensate for a bug in couch_httpd_view.erl
|
|
272
|
+
|
|
273
|
+
[ba95c06 | 2008-11-28 07:51:56 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
274
|
+
|
|
275
|
+
* Automatic conversion of Time, new :type parameter for property
|
|
276
|
+
|
|
277
|
+
[2b2cffd | 2008-11-28 07:51:19 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
278
|
+
|
|
279
|
+
* Allow Database#[]= to save docs
|
|
280
|
+
|
|
281
|
+
[9b2ab26 | 2008-11-27 13:57:39 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
282
|
+
|
|
283
|
+
* Update gemspec, correct files
|
|
284
|
+
|
|
285
|
+
[3c0541b | 2008-11-27 13:11:22 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
286
|
+
|
|
287
|
+
* Plugin functionality and pager plugin
|
|
288
|
+
|
|
289
|
+
[22840cb | 2008-11-27 13:10:57 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
290
|
+
|
|
291
|
+
* Allow layout :map => source, :reduce => source
|
|
292
|
+
|
|
293
|
+
[ae9aeb5 | 2008-11-27 13:10:08 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
294
|
+
|
|
295
|
+
* Model::view_with_docs to take advantage of include_docs
|
|
296
|
+
|
|
297
|
+
[8a5e7ca | 2008-11-27 10:30:48 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
298
|
+
|
|
299
|
+
* Version 2008.11.27
|
|
300
|
+
|
|
301
|
+
[753cfa7 | 2008-11-27 10:26:28 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
302
|
+
|
|
303
|
+
* add bin/sofa for quick debugging sessions
|
|
304
|
+
|
|
305
|
+
[d2a0886 | 2008-11-27 10:26:07 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
306
|
+
|
|
307
|
+
* Small refactor
|
|
308
|
+
|
|
309
|
+
[b1bdaf0 | 2008-11-25 10:44:05 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
310
|
+
|
|
311
|
+
* Enable cloning
|
|
312
|
+
|
|
313
|
+
[09dea66 | 2008-11-25 09:57:15 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
314
|
+
|
|
315
|
+
* add encode_attachments
|
|
316
|
+
|
|
317
|
+
[3277f11 | 2008-11-25 09:31:04 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
318
|
+
|
|
319
|
+
* Adding MIT license
|
|
320
|
+
|
|
321
|
+
[f6dd8ef | 2008-11-25 09:30:35 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
322
|
+
|
|
323
|
+
* Document some of Sofa::Server
|
|
324
|
+
|
|
325
|
+
[3f0bc71 | 2008-11-25 09:30:22 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
326
|
+
|
|
327
|
+
* Make relations sane
|
|
328
|
+
|
|
329
|
+
[041dfd1 | 2008-11-25 09:29:57 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
330
|
+
|
|
331
|
+
* Expand and document Sofa::Database
|
|
332
|
+
|
|
333
|
+
[032b958 | 2008-11-25 09:29:01 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
334
|
+
|
|
335
|
+
* Better errors
|
|
336
|
+
|
|
337
|
+
[0bd7246 | 2008-11-21 12:07:47 UTC] Michael Fellinger <m.fellinger@gmail.com>
|
|
338
|
+
|
|
339
|
+
* Inaugral commit
|
|
340
|
+
|
data/COPYING
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Copyright (c) 2008 Michael Fellinger <m.fellinger@gmail.com>
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to
|
|
5
|
+
deal in the Software without restriction, including without limitation the
|
|
6
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
7
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
16
|
+
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
17
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
18
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/MANIFEST
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
CHANGELOG
|
|
2
|
+
COPYING
|
|
3
|
+
MANIFEST
|
|
4
|
+
README.md
|
|
5
|
+
Rakefile
|
|
6
|
+
bin/makura
|
|
7
|
+
example/blog.rb
|
|
8
|
+
example/couch/map/author_all.js
|
|
9
|
+
example/couch/map/author_posts.js
|
|
10
|
+
example/couch/map/post_all.js
|
|
11
|
+
example/couch/map/post_comments.js
|
|
12
|
+
example/couch/reduce/sum_length.js
|
|
13
|
+
lib/makura.rb
|
|
14
|
+
lib/makura/database.rb
|
|
15
|
+
lib/makura/design.rb
|
|
16
|
+
lib/makura/error.rb
|
|
17
|
+
lib/makura/http_methods.rb
|
|
18
|
+
lib/makura/layout.rb
|
|
19
|
+
lib/makura/model.rb
|
|
20
|
+
lib/makura/plugin/localize.rb
|
|
21
|
+
lib/makura/plugin/pager.rb
|
|
22
|
+
lib/makura/server.rb
|
|
23
|
+
lib/makura/uuid_cache.rb
|
|
24
|
+
lib/makura/version.rb
|
|
25
|
+
makura.gemspec
|
|
26
|
+
tasks/authors.rake
|
|
27
|
+
tasks/bacon.rake
|
|
28
|
+
tasks/changelog.rake
|
|
29
|
+
tasks/copyright.rake
|
|
30
|
+
tasks/gem.rake
|
|
31
|
+
tasks/gem_installer.rake
|
|
32
|
+
tasks/git.rake
|
|
33
|
+
tasks/grancher.rake
|
|
34
|
+
tasks/manifest.rake
|
|
35
|
+
tasks/metric_changes.rake
|
|
36
|
+
tasks/rcov.rake
|
|
37
|
+
tasks/release.rake
|
|
38
|
+
tasks/reversion.rake
|
|
39
|
+
tasks/todo.rake
|
|
40
|
+
tasks/traits.rake
|
|
41
|
+
tasks/yard.rake
|
|
42
|
+
tasks/ycov.rake
|
data/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Makura
|
|
2
|
+
|
|
3
|
+
Makura is a Ruby wrapper around the CouchDB REST API.
|
|
4
|
+
|
|
5
|
+
It doesn't provide a lot of bells and whistles, but aims to be as close to the
|
|
6
|
+
original API as possible, while taking advantage of Ruby's expressive power.
|
|
7
|
+
|
|
8
|
+
Most ideas for this have been gathered while trying other libraries such as
|
|
9
|
+
CouchObject, CouchRest, and RelaxDB.
|
|
10
|
+
|
|
11
|
+
It does so with almost no modification of ruby libraries and makes it simple
|
|
12
|
+
to switch the HTTP library used by changing one method.
|
|
13
|
+
Eventually Makura will be using an evented http library to provide better
|
|
14
|
+
performance.
|
|
15
|
+
|
|
16
|
+
We are using the json library, which adds following methods:
|
|
17
|
+
To Kernel: #j, #jj, #JSON
|
|
18
|
+
To Object and most core classes: #to_json
|
|
19
|
+
To String: #to_json_raw_object, #to_json, #to_json_raw
|
|
20
|
+
|
|
21
|
+
## Dependencies
|
|
22
|
+
|
|
23
|
+
* CouchDB - 0.9 trunk (rev 725909 and higher)
|
|
24
|
+
* rest-client
|
|
25
|
+
* rack
|
|
26
|
+
* json
|
|
27
|
+
|
|
28
|
+
## Features
|
|
29
|
+
|
|
30
|
+
* Simple Models, the CouchDB way and without magic.
|
|
31
|
+
* Free choice of inheritance, just include the Makura::Model module.
|
|
32
|
+
* Smart interpretation of returned JSON.
|
|
33
|
+
* Direct mapping of javascript files to map/reduce functions for views.
|
|
34
|
+
* CouchDB specific error reporting, no meaningless HTTP status code.
|
|
35
|
+
* Live update of views during runtime.
|
|
36
|
+
* Easy configuration, possibility to use different servers and databases each
|
|
37
|
+
model.
|
|
38
|
+
|
|
39
|
+
## Usage
|
|
40
|
+
|
|
41
|
+
See the /example/blog.rb
|
data/Rakefile
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
require 'rake/clean'
|
|
3
|
+
require 'rake/gempackagetask'
|
|
4
|
+
require 'time'
|
|
5
|
+
require 'date'
|
|
6
|
+
|
|
7
|
+
PROJECT_SPECS = Dir['spec/**/*.rb']
|
|
8
|
+
PROJECT_MODULE = 'Makura'
|
|
9
|
+
PROJECT_VERSION = ENV['VERSION'] || Date.today.strftime("%Y.%m.%d")
|
|
10
|
+
|
|
11
|
+
GEMSPEC = Gem::Specification.new{|s|
|
|
12
|
+
s.name = 'makura'
|
|
13
|
+
s.author = "Michael 'manveru' Fellinger"
|
|
14
|
+
s.summary = "Ruby wrapper around the CouchDB REST API."
|
|
15
|
+
s.email = 'm.fellinger@gmail.com'
|
|
16
|
+
s.homepage = 'http://github.com/manveru/makura'
|
|
17
|
+
s.platform = Gem::Platform::RUBY
|
|
18
|
+
s.version = PROJECT_VERSION
|
|
19
|
+
s.files = `git ls-files`.split("\n").sort
|
|
20
|
+
s.has_rdoc = true
|
|
21
|
+
s.require_path = 'lib'
|
|
22
|
+
s.executables = ['makura']
|
|
23
|
+
s.bindir = "bin"
|
|
24
|
+
|
|
25
|
+
s.add_runtime_dependency('rest-client', '>= 0.8.1')
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Dir['tasks/*.rake'].each{|f| import(f) }
|
|
29
|
+
|
|
30
|
+
task :default => [:bacon]
|
|
31
|
+
|
|
32
|
+
CLEAN.include('')
|