makura 2009.05.27

Sign up to get free protection for your applications and to get access to all the features.
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('')