nitro 0.13.0 → 0.14.0

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.
Files changed (64) hide show
  1. data/CHANGELOG +91 -1632
  2. data/INSTALL +44 -0
  3. data/README +1 -1
  4. data/Rakefile +3 -3
  5. data/doc/CHANGELOG.2 +1688 -0
  6. data/doc/RELEASES +84 -1
  7. data/examples/blog/cache/entriesadmin +12 -0
  8. data/examples/blog/conf/apache.conf.new +53 -0
  9. data/examples/blog/conf/lhttpd.conf +23 -180
  10. data/examples/blog/log/apache.error_log +271 -0
  11. data/examples/blog/log/rewrite_log +161 -0
  12. data/examples/blog/public/fcgi.rb +2 -0
  13. data/examples/blog/run.rb +4 -3
  14. data/examples/blog/src/controller.rb +10 -4
  15. data/examples/blog/src/views/index.xhtml +3 -0
  16. data/examples/blog/src/xsl/base.xsl +7 -0
  17. data/examples/no_xsl_blog/conf/lhttpd.conf +24 -181
  18. data/examples/tiny/conf/lhttpd.conf +24 -181
  19. data/examples/tiny/log/apache.error_log +24 -0
  20. data/examples/tiny/public/index.xhtml +0 -6
  21. data/examples/tiny/public/upload.xhtml +12 -14
  22. data/examples/wee_style/run.rb +2 -0
  23. data/examples/why_wiki/run.rb +2 -0
  24. data/lib/nitro.rb +2 -2
  25. data/lib/nitro/adapters/cgi.rb +36 -109
  26. data/lib/nitro/adapters/webrick.rb +76 -62
  27. data/lib/nitro/caching.rb +29 -0
  28. data/lib/nitro/caching/actions.rb +67 -0
  29. data/lib/nitro/caching/fragments.rb +72 -0
  30. data/lib/nitro/caching/invalidation.rb +51 -0
  31. data/lib/nitro/caching/output.rb +72 -0
  32. data/lib/nitro/caching/stores.rb +84 -0
  33. data/lib/nitro/controller.rb +3 -1
  34. data/lib/nitro/dispatcher.rb +0 -1
  35. data/lib/nitro/filters.rb +112 -55
  36. data/lib/nitro/mail.rb +6 -3
  37. data/lib/nitro/render.rb +27 -4
  38. data/lib/nitro/request.rb +13 -1
  39. data/test/nitro/tc_controller.rb +6 -4
  40. data/test/nitro/tc_filters.rb +111 -0
  41. metadata +19 -29
  42. data/examples/why_wiki/wiki.yml +0 -1
  43. data/vendor/README +0 -11
  44. data/vendor/binding_of_caller.rb +0 -81
  45. data/vendor/blankslate.rb +0 -53
  46. data/vendor/breakpoint.rb +0 -523
  47. data/vendor/breakpoint_client.rb +0 -196
  48. data/vendor/extensions/_base.rb +0 -153
  49. data/vendor/extensions/_template.rb +0 -36
  50. data/vendor/extensions/all.rb +0 -21
  51. data/vendor/extensions/array.rb +0 -68
  52. data/vendor/extensions/binding.rb +0 -224
  53. data/vendor/extensions/class.rb +0 -50
  54. data/vendor/extensions/continuation.rb +0 -71
  55. data/vendor/extensions/enumerable.rb +0 -250
  56. data/vendor/extensions/hash.rb +0 -23
  57. data/vendor/extensions/io.rb +0 -58
  58. data/vendor/extensions/kernel.rb +0 -42
  59. data/vendor/extensions/module.rb +0 -114
  60. data/vendor/extensions/numeric.rb +0 -230
  61. data/vendor/extensions/object.rb +0 -164
  62. data/vendor/extensions/ostruct.rb +0 -41
  63. data/vendor/extensions/string.rb +0 -316
  64. data/vendor/extensions/symbol.rb +0 -28
data/INSTALL CHANGED
@@ -46,6 +46,7 @@ a standard installation script is provided.
46
46
  This installation script also installs some vendor libraries
47
47
  that you possibly have allready installed. Use with caution.
48
48
 
49
+
49
50
  = Manual installation.
50
51
 
51
52
  Uncompress your distribution (Unix example):
@@ -57,3 +58,46 @@ Put the libray dir in the Ruby path (Unix example):
57
58
 
58
59
  $ export RUBYOPT='-I path/to/nitro/lib'
59
60
 
61
+
62
+ = Additional libraries
63
+
64
+ Nitro uses a number of additional libraries. RubyGems
65
+ installs most of them, but here is the complete
66
+ list for your reference. Please not that most of these
67
+ libraries are optional.
68
+
69
+ * PostgreSQL
70
+ http://www.postgres.org
71
+ Used for Database driven web applications.
72
+
73
+ * MySQL
74
+ http://www.mysql.org
75
+ Used for Database driven web applications.
76
+
77
+ * Ruby-psql
78
+ http://www.postgresql.jp/interfaces/ruby/archive/ruby-postgres-0.7.1.tar.gz
79
+ Ruby interface to the PostgreSQL RDBMS.
80
+
81
+ * Ruby-mysql
82
+ http://tmtm.org/ja/ruby/mysql/README_en.html
83
+ Ruby interface to the MySQL RDBMS.
84
+
85
+ * Ruby-XSLT
86
+ http://gregoire.lejeune.free.fr/ruby-xslt_0.4.0.tar.gz
87
+ Used for XSLT based templates.
88
+
89
+ * Apache 2.0
90
+ http://www.apache.org
91
+ Used to host application in production environments.
92
+
93
+ * Lighttpd
94
+ http://www.lighttpd.net/
95
+ A lean and efficient web server. A perfect companion to Nitro.
96
+
97
+ * Ruby-fcgi
98
+ http://www.moonwolf.com/ruby/archive/ruby-fcgi-0.8.5.tar.gz
99
+ Used for FCGI based applications.
100
+
101
+ * FastCGI development kit
102
+ http://www.fastcgi.com/dist/fcgi.tar.gz
103
+ Needed to compile the C-version of the ruby fcgi library.
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = Nitro 0.13.0
1
+ = Nitro 0.14.0
2
2
 
3
3
  Nitro is an efficient, yet simple engine for developing professional Web
4
4
  Applications using the Ruby language. Nitro aims to provide a robust
data/Rakefile CHANGED
@@ -38,7 +38,7 @@ end
38
38
  spec = Gem::Specification.new do |s|
39
39
  s.name = 'nitro'
40
40
  if File.read('lib/nitro.rb') =~ /Version\s+=\s+'(\d+\.\d+\.\d+)'/
41
- s.version = $1
41
+ VERSION = s.version = $1
42
42
  else
43
43
  raise 'No version found'
44
44
  end
@@ -47,8 +47,8 @@ spec = Gem::Specification.new do |s|
47
47
  'Nitro provides everything you need to develop real-world, scalable ' +
48
48
  'web applications.'
49
49
 
50
- s.add_dependency 'glue', '= 0.13.0'
51
- s.add_dependency 'og', '= 0.13.0'
50
+ s.add_dependency 'glue', "= #{VERSION}"
51
+ s.add_dependency 'og', "= #{VERSION}"
52
52
  s.add_dependency 'ruby-breakpoint', '>= 0.5'
53
53
  s.add_dependency 'extensions', '>= 0.5'
54
54
  s.add_dependency 'flexmock', '>= 0.0.3'
data/doc/CHANGELOG.2 ADDED
@@ -0,0 +1,1688 @@
1
+ 17-03-2005 George Moschovitis <gm@navel.gr>
2
+
3
+ * --- VERSION 0.13.0 ---
4
+
5
+ * lib/nitro/adapters/fastcgi.rb: better check for Og.
6
+
7
+ * lib/nitro/adapters/webrick.rb: better check for Og.
8
+
9
+ * test/*: many changes to make tests pass again.
10
+
11
+ * examples/*: updated all apache configuration files.
12
+
13
+ * examples/blog/src/views/blog_entry_email.xhtml: introduced.
14
+
15
+ * examples/blog/src/mailer.rb: introduced,
16
+ mail sent!
17
+
18
+ * examples/no_xsl_blog/*: converted to new codebase.
19
+
20
+ 16-03-2005 George Moschovitis <gm@navel.gr>
21
+
22
+ * examples/blog/*: many changes to convert to new codebase.
23
+ excellent, runs with separated templates!
24
+
25
+ * examples/ajax/*: converted to new codebase.
26
+
27
+ * examples/tiny/*: converted to new codebase.
28
+
29
+ * lib/nitro/render.rb: template_root, renamed from base,
30
+ dont pass template_root.
31
+
32
+ * public/error.xhtml: added.
33
+
34
+ * lib/nitro/dispatcher.rb: separate template_root / public_root for extra
35
+ security and flexibility,
36
+ (#dispatch): don't calculate template_root.
37
+
38
+ * public/index.xhtml: updated.
39
+
40
+ * bin/proto: removed.
41
+
42
+ * run.rb: introduced.
43
+
44
+ * public/media: introduced.
45
+
46
+ * experimented with proto directory structure.
47
+
48
+ * public/js/ajax.js: (ajax_async_get): implemented.
49
+
50
+ 15-03-2005 George Moschovitis <gm@navel.gr>
51
+
52
+ * test/nitro/tc_mail.rb: added tests.
53
+
54
+ * lib/nitro/template.rb (FileTemplate): introduced,
55
+ added caching support.
56
+ MEGA, extend FileTemplate form Flexob and use some binding
57
+ magic to provide the environment.
58
+
59
+ * lib/nitro/mail.rb (#encoded): introduced,
60
+ (#create): implemented,
61
+ (#deliver): implemented.
62
+ (Mail): added support for additional headers.
63
+ (#quoted_printable): added.
64
+ yeah, delivery works!!
65
+ (#render_body): simple implementation,
66
+ use the new Flexob based FileTemplate.
67
+
68
+ 14-03-2005 George Moschovitis <gm@navel.gr>
69
+
70
+ * test/nitro/tc_mail.rb: introduced.
71
+
72
+ * lib/nitro/mail.rb: worked on mailer implementation.
73
+
74
+ 13-03-2005 George Moschovitis <gm@navel.gr>
75
+
76
+ * lib/nitro/mail.rb: introduced Mailer.
77
+
78
+ 12-03-2005 George Moschovitis <gm@navel.gr>
79
+
80
+ * examples/ajax/controller.rb (#get_word): implemented.
81
+ Yeah, the autocompletion works!!
82
+
83
+ * examples/ajax/*: copied stuff from public,
84
+ yeah, I got a simple xmlhttp request working.
85
+
86
+ 11-03-2005 George Moschovitis <gm@navel.gr>
87
+
88
+ * public/js/ajax.js: introduced.
89
+ (#xml_http_request): implemented,
90
+ (#xml_http_request_object): implemented.
91
+
92
+ * public/js: introduced.
93
+
94
+ * public/*: introduced.
95
+
96
+ * examples/ajax/*: introduced ajax example.
97
+
98
+ * doc/faq.txt: introduced.
99
+
100
+ 10-03-2005 George Moschovitis <gm@navel.gr>
101
+
102
+ * lib/nitro.rb: removed Name.
103
+
104
+ * lib/parts: deprecated.
105
+
106
+ * examples/no_xsl_blog/lib/content.rb: moved from parts.
107
+
108
+ * examples/blog/lib/content.rb: moved from parts.
109
+
110
+ * vendor/*: removed parse_tree files.
111
+
112
+ * Rakefile: updated, removed Og dependencies,
113
+ added ruby-breakpoint dependency.
114
+
115
+ * yeah, the examples run again.
116
+
117
+ * splitted project in 4 parts: nitro, og, gen (internal, not released), glue.
118
+
119
+ * lib/og/adapters/psql.rb: use system in create/drop db to avoid shell expansion. [sjenkins]
120
+
121
+ * lib/og/adapters/mysql.rb: use system in create/drop db to avoid shell expansion. [sjenkins]
122
+
123
+ 09-03-2005 George Moschovitis <gm@navel.gr>
124
+
125
+ * lib/glue/validation.rb (#validate_format): don't quote the regexp. [dbovensiepen]
126
+
127
+ * lib/og/meta.rb: check_implicit_graph_changes. [mneumann]
128
+
129
+ * worked on and uploaded Nitro web site.
130
+
131
+ 08-03-2005 George Moschovitis <gm@navel.gr>
132
+
133
+ * lib/nitro/template.rb: allow entities in the following form: %ent;
134
+ to be more xsl friendly.
135
+
136
+ * worked on a simple Nitro web site.
137
+
138
+ 07-03-2005 George Moschovitis <gm@navel.gr>
139
+
140
+ * --- VERSION 0.12.0 ---
141
+
142
+ * lib/og/adapters/mysql.rb: overide create_fields.
143
+
144
+ * examples/why_wiki: updated, added nice urls.
145
+
146
+ * lib/nitro/adapters/webrick.rb: use CgiUtils.parse_params and
147
+ CgiUtils.parse_cookies to be more compatible with FastiCGI, and
148
+ fix some bugs.
149
+
150
+ * examples/blog/roor/base.xsl: moved temporarily here.
151
+
152
+ * lib/xsl: deprecated.
153
+
154
+ * lib/nitro.rb: removed resolve_action_arguments option.
155
+
156
+ * examples/no_xsl_blog/*: updated.
157
+
158
+ * RELEASES.og: updated.
159
+
160
+ * RELEASES: updated.
161
+
162
+ * bin/cluster: deprecated.
163
+
164
+ * doc/LICENCE: moved from root.
165
+
166
+ * doc/AUTHORS: moved from root.
167
+
168
+ * after some fixes, tests pass again.
169
+
170
+ * test/nitro/ui/sitemap.rb: deprecated.
171
+
172
+ * lib/nitro/ui/sitemap.rb: deprecated.
173
+
174
+ * lib/nitro/controller.rb (#action_methods): better removal of pp methods,
175
+ remove Controller methods.
176
+
177
+ * lib/nitro/render.rb: no require of nitro, caused problems.
178
+
179
+ * lib/og/adapters/*: added typcast overrides to the other
180
+ adapters.
181
+
182
+ * test/og/tc_observer.rb: added tests.
183
+
184
+ 06-03-2005 George Moschovitis <gm@navel.gr>
185
+
186
+ * lib/og/meta.rb: fixed linkback to_s bug.
187
+
188
+ * test/og/tc_observer.rb: implemeted, many cases.
189
+
190
+ * lib/og.rb: added og_pre_read / og_post_read callbacks.
191
+
192
+ * lib/og/adapter.rb (#eval_lifecycle_methods): evaluate callbacks,
193
+ (#eval_og_insert): evaluate observer callbacks,
194
+ fix for class observer,
195
+ (#eval_og_update): evaluate observer callbacks,
196
+ (#eval_og_update): evaluate observer callbacks.
197
+
198
+ * lib/og/observer.rb: scrapped the STUPID rails design,
199
+ introduced an ultra cool, efficient, and ruby compatible design.
200
+ (#add_observer): accepts multiple observers.
201
+
202
+ 05-03-2005 George Moschovitis <gm@navel.gr>
203
+
204
+ * examples/blog/root/error.xhtml: click to reload.
205
+
206
+ * lib/nitro/runner.rb: added --crawl option.
207
+ added --render option.
208
+
209
+ * examples/blog/root/shader.xsl: fixed base href bug.
210
+
211
+ * lib/nitro/template.rb: #() alias, useful in xslt stylesheets.
212
+
213
+ * examples/blog/root/*: use scaffolded view_uri.
214
+
215
+ * lib/nitro/scaffold.rb: add support for routes.
216
+ :nosuffix option.
217
+
218
+ * lib/nitro/controller.rb (#action): implemented.
219
+ (#update_routes): implemented.
220
+ (ActionParam): implemented.
221
+ (ActionMeta): implemented.
222
+ (#action_method_arguments): deprecated.
223
+
224
+ 04-03-2005 George Moschovitis <gm@navel.gr>
225
+
226
+ * lib/nitro/controller.rb: introduced the concept of the action
227
+ keyword.
228
+
229
+ * lib/nitro/routing.rb: introduced,
230
+ (Router): introduced.
231
+ (#route): works.
232
+
233
+ * lib/nitro/dispatcher.rb: added routes map,
234
+ experimental rewrite support.
235
+
236
+ * lib/og/adapters/*: added support for multiple many_to_many relations.
237
+
238
+ * test/og/tc_many_to_many.rb: implemented.
239
+
240
+ * lib/og/meta.rb: accept :linkback as symbol,
241
+ added support for multiple many_to_many relations. [mneumann]
242
+
243
+ * lib/og/adapter.rb (join_table): encode a field name
244
+ to allow for multiple many_to_many relations with the same klass. [mneumann]
245
+
246
+ * lib/nitro/markup.rb: markup >, <.
247
+
248
+ * examples/blog/root/error.xhtml: Introduced and made really
249
+ useful.
250
+
251
+ * lib/nitro/render.rb (#log_error): reimplemented
252
+ to be more flexible and allow for much better error reporting.
253
+
254
+ * lib/nitro/context.rb (#out): override, to catch errors.
255
+
256
+ * lib/nitro/shaders.rb (RubyShader): use the TemplateMixin.
257
+
258
+ * RELEASES: updated.
259
+
260
+ * lib/nitro/template.rb: factored out TemplateMixin,
261
+ improved API.
262
+
263
+ 03-03-2005 George Moschovitis <gm@navel.gr>
264
+
265
+ * lib/nitro/template.rb: introduced as standalone template engine,
266
+ pass binding and buffer to store the result.
267
+
268
+ 01-03-2005 George Moschovitis <gm@navel.gr>
269
+
270
+ * lib/og/enchant.rb: COOL: generate finders for all properties,
271
+ take :unique into account when generating finders,
272
+ finders use typecast system.
273
+ find* alias for select* methods.
274
+ converted Og.db -> @@og_db.
275
+
276
+ * lib/og/adapter.rb: use :unique metadata,
277
+ introduced typecast system.
278
+
279
+ * lib/og.rb: better comments.
280
+
281
+ * test/og/tc_observer.rb: introduced.
282
+
283
+ * lib/og/observer.rb: introduced,
284
+ (Observable): implemented.
285
+
286
+ * lib/nitro/ui/select.rb: deprecated.
287
+
288
+ 28-02-2005 George Moschovitis <gm@navel.gr>
289
+
290
+ * --- VERSION 0.11.0 ---
291
+
292
+ * lib/nitro/controller.rb (#action_method_arguments): implemented.
293
+
294
+ * lib/nitro.rb: added resolve_action_arguments,
295
+ define Nitro before requiring.
296
+
297
+ * lib/nitro/render.rb: added a simple check for ParseTree.
298
+
299
+ * Rakefile: no ParseTree dependency,
300
+ include og_config/og_tutorial in the docs.
301
+
302
+ * use 127.0.0.1 as default address Windows gets fucked with 0.0.0.0
303
+
304
+ * lib/nitro/simple.rb: hack fix for SimpleController problem.
305
+
306
+ * lib/og/adapters/oracle.rb: small fixes [mbowen].
307
+
308
+ * lib/og/adapter.rb: fixed DEFAULT NOT NULL to make oracle compaible [mbowen].
309
+
310
+ * doc/og_tutorial.txt: more fixes [james_b],
311
+ made more compatible with RDoc.
312
+
313
+ 27-02-2005 George Moschovitis <gm@navel.gr>
314
+
315
+ * lib/nitro/adapters/xhtml.rb (#submit): introduced.
316
+
317
+ * lib/nitro/request.rb (#path_info): introduced.
318
+
319
+ * lib/nitro/adapters/webrick.rb (#start): check for Conf instead of Flexob.
320
+
321
+ * examples/why_wiki/run.rb: introduced the wiki example from
322
+ redhanded.hobix.com (btw, why_ fuckin RULEZ!),
323
+ converted to use the programmatic render,
324
+ more fixes, now fully working, better than why_'s original.
325
+
326
+ * many small fixes to make tests pass again.
327
+
328
+ * lib/controller.rb (#action_methods): temp fix for pretty_print
329
+ methods, argh!
330
+
331
+ * examples/*: added apache configuration to all examples,
332
+ updated fcgi.rb in examples.
333
+
334
+ * examples/blog/conf/apache.conf: pass -rubygems -I.. to make compatible
335
+ with lhttpd.
336
+
337
+ * Rakefile: added ParseTree requirement,
338
+ fixed test without og test-cases.
339
+
340
+ * RELEASES: updated.
341
+
342
+ * doc/og_tutorial.tx: more fixes.
343
+
344
+ 27-02-2005 Matt Bowen <matt.bowen@farweststeel.com>
345
+
346
+ * doc/og_tutorial.txt: many, many fixes to this text.
347
+
348
+ 26-02-2005 George Moschovitis <gm@navel.gr>
349
+
350
+ * lib/glue/*: cleaned up various files.
351
+
352
+ * doc/og_tutorial.txt: small fixes [marioh].
353
+
354
+ * test/tc_og.rb: a bit more flexible, fixes.
355
+
356
+ * lib/og/adapters/oracle.rb: small fixes to the adapter.
357
+
358
+ 26-02-2005 Matt Bowen <matt.bowen@farweststeel.com>
359
+
360
+ * lib/og/meta.rb (#many_to_many): don't use AS in join queries
361
+ to make more compatible with Oracle.
362
+
363
+ * lib/og/adapters/oracle.rb: many fixes to the adapter.
364
+
365
+ 25-02-2005 George Moschovitis <gm@navel.gr>
366
+
367
+ * vendor/: added ParseTree files,
368
+ copied latest breakpointer files.
369
+
370
+ * lib/nitro/render.rb: some guarding code for ParseTree, argh.
371
+
372
+ * lib/nitro/runner.rb: clearly show where the application is
373
+ listening.
374
+
375
+ * lib/nitro/conf.rb: use 0.0.0.0 by default to make the app accessible both
376
+ localy and remotely,
377
+ use 9999 as default port, easier to remember.
378
+
379
+ * doc/og_config.txt: wrote first version.
380
+
381
+ * doc/og_tutorial.txt: wrote first version.
382
+
383
+ 24-02-2005 George Moschovitis <gm@navel.gr>
384
+
385
+ * test/tc_og.rb: added extra checks.
386
+
387
+ * lib/og/adapter.rb (#create_fields): set default value,
388
+ (#parse_timestamp): handle nil strings.
389
+
390
+ * lib/og/adapters/*: better default values (NULL) [mneumann]
391
+
392
+ * lib/og/adapters/mysql.rb: fixed props_for_insert.
393
+
394
+ * lib/og/adapters/oracle.rb: worked on this.
395
+ removed write_prop/read_prop.
396
+
397
+ * lib/nitro/render.rb (#o): convienience method.
398
+
399
+ * lib/nitro/builders/*: render -> build,
400
+ recoded abstract builders.
401
+
402
+ * lib/nitro/builders/form: introduced mixin.
403
+
404
+ * lib/nitro/context.rb: use the output buffer.
405
+
406
+ * lib/nitro/output.rb (OutputBuffer): introduced.
407
+
408
+ * lib/nitro/builders/rss: introduced mixin.
409
+
410
+ * lib/og/meta.rb (Relation): added foreign_class alias.
411
+
412
+ * doc/*: cleaned up.
413
+
414
+ * doc/configuration_params.txt: introduced.
415
+
416
+ * RELEASES: updated.
417
+
418
+ * README: updated.
419
+
420
+ 23-02-2005 George Moschovitis <gm@navel.gr>
421
+
422
+ * test/og/tc_meta.rb: implemented.
423
+
424
+ * lib/og/enchant.rb (#properties_and_relations): added.
425
+
426
+ * lib/og/typemacros.rb: introduced, copied code from meta.
427
+
428
+ * lib/og/meta.rb: added more metainfo in relations to facilitate
429
+ even more advanced scaffoliding [mneumann],
430
+ encapsulated type macros in Og namespace [mneumann],
431
+ define Relation classes as extension to properties [mneumann],
432
+ use meta[:descendants] to store cascading delete metadata.
433
+
434
+ * lib/glue/property.rb: added property alias for prop_accessor. [mneumann],
435
+ added more comments.
436
+ (#meta): *val packs arguments in array.
437
+ also keep properties in meta[:properties_and_relations]
438
+
439
+ * lib/og.rb: added 'create_schema' configuration variable, when
440
+ set to false, the applications start much faster.
441
+
442
+ 22-02-2005 George Moschovitis <gm@navel.gr>
443
+
444
+ * yeah, fastcgi works better on lhttpd and apache.
445
+
446
+ * lib/nitro/request.rb (#referer): fixed NASTY bug in non-webrick mode.
447
+
448
+ * lib/nitro/adapters/cgi.rb (#response_headers): added Date to headers,
449
+ after some changes, I got apache to kinda work,
450
+ proto parameter, fixes apache.
451
+
452
+ * lib/nitro/dispatcher.rb: correct handling of default api.
453
+
454
+ * lib/nitro/context.rb (#initialize): init status.
455
+
456
+ * test/nitro/builders/tc_table.rb: introduced.
457
+
458
+ * lib/og/adapters/odbc.rb: introduced.
459
+
460
+ * lib/nitro/builders/table.rb (TableBuilderMixin): introduced,
461
+ (TableBuilder): implemented.
462
+ (#render_table): implemented simple version.
463
+
464
+ * example/wee_style/run.rb: use components.
465
+
466
+ 21-02-2005 George Moschovitis <gm@navel.gr>
467
+
468
+ * lib/og/adapter.rb (#table): use og prefix to be compatible with oracle [mbowen],
469
+ (#join_table): use og prefix instead of '_' [mbowen].
470
+
471
+ * lib/glue/property.rb (#meta): fix, should call enchant(self).
472
+
473
+ * test/tc_og.rb: added more tests to check new feature and
474
+ fixes,
475
+ added test for many_to_many relations.
476
+
477
+ * lib/og/meta.rb: removed uneeded extra parameter from
478
+ some meta_methods.
479
+ (#many_to_many): allow yield block in add_xxx,
480
+ save target_objects!,
481
+
482
+ * lib/og/adapters/oracle.rb: cleanup.
483
+
484
+ 21-02-2005 Michael Neumann <mneumann@ntecs.de>
485
+
486
+ * lib/og/meta.rb: (#has_many): allow yield block in add_xxx,
487
+ added some standard typemacros.
488
+
489
+ 20-02-2005 Matt Bowen <matt.bowen@farweststeel.com>
490
+
491
+ * lib/og/adapters/oracle.rb: introduced, and initial implementation.
492
+
493
+ 20-02-2005 George Moschovitis <gm@navel.gr>
494
+
495
+ * examples/blog/conf/apache.rb: implemented, mostly works!
496
+
497
+ * experimented with method injection, it can be done!!
498
+
499
+ * lib/nitro/render.rb: added ParseTree/SexpProcessor,
500
+ (#compile_action): handle action with parameters and
501
+ automatically lookup request parameters.
502
+ (#compile_action): added sync to be more thread safe.
503
+
504
+ * experimented with ParseTree, this lib is ultracool.
505
+
506
+ 19-02-2005 George Moschovitis <gm@navel.gr>
507
+
508
+ * lib/nitro/runner.rb: no duplicate lhttpd,
509
+ added apache option,
510
+ fixed parameter passing to apachectl.
511
+
512
+ * lib/og/*: converted Og to a Module to be includeable.
513
+
514
+ * Rakefile: put RDoc files in doc/rdoc.
515
+
516
+ * doc/*: moved some files from root dir here.
517
+
518
+ * lib/og/adapters/*: small changes.
519
+
520
+ * lib/og/adapters/filesys.rb: introduced,
521
+ (#db_dir): added.
522
+ create class 'tables' and sequence.
523
+ (#load/#save): temp hacks, but this works!!
524
+ This kinda works :)
525
+
526
+ 18-02-2005 George Moschovitis <gm@navel.gr>
527
+
528
+ * doc/apache.txt: introduced.
529
+
530
+ * doc/tutorial.txt: started working on this.
531
+
532
+ * lib/nitro/session/drb.rb: yeah, distributed session
533
+ works correctly.
534
+
535
+ * lib/nitro/context.rb: removed sessions attribute,
536
+ (#close): implemented.
537
+
538
+ * lib/nitro/session.rb: added ctime, mtime, atime and
539
+ aliases,
540
+ (#touch!): introduced.
541
+ collection -> store.
542
+
543
+ * lib/nitro/session/drbserver.rb: added debug mode.
544
+
545
+ 17-02-2005 George Moschovitis <gm@navel.gr>
546
+
547
+ * lib/nitro/session/memory.rb: implemented.
548
+
549
+ * YEAH, i got drb sessions working again.
550
+
551
+ * lib/nitro/session/drb.rb: implemented.
552
+
553
+ * lib/nitro/session.rb: added store configuration parameter,
554
+ FIX: use SafeHash for session collections.
555
+
556
+ * lib/nitro/session/drbserver.rb: implemented,
557
+ added command line parameters.
558
+
559
+ * lib/glue/hash.rb: cleaned up.
560
+
561
+ * lib/nitro/component.rb: introduced.
562
+
563
+ 16-02-2005 George Moschovitis <gm@navel.gr>
564
+
565
+ * lib/nitro/render.rb: SECURITY FIX: only render action_methods.
566
+
567
+ * test/nitro/tc_controller.rb: fixes, more tests.
568
+
569
+ * lib/nitro/controller.rb (#action_methods): introduced.
570
+
571
+ 15-02-2005 George Moschovitis <gm@navel.gr>
572
+
573
+ * --- VERSION 0.10.0 ---
574
+
575
+ * INSTALL: added some text for manual installation.
576
+
577
+ * examples/no_xsl_blog/*: misc fixes.
578
+
579
+ * lib/nitro/dispatcher.rb (#dispatch): pass context to fix reload bug.
580
+
581
+ * examples/og/run.rb: updated.
582
+
583
+ * lib/og/meta.rb (#many_to_many): fixed bug.
584
+
585
+ * lib/nitro/controller.rb: introduced simple controller to protect
586
+ the base controller.
587
+
588
+ * lib/nitro/runner.rb (#run): call setup_debug/stage/live,
589
+ more fixes in setup.
590
+
591
+ * Rakefile: added flexmock dependency,
592
+ removed database dependencies (RubyGems is too picky),
593
+ added install.rb in distribution.
594
+
595
+ * test/: fixed some type_checking bugs.
596
+
597
+ * lib/glue/property.rb: type_checking = false by default.
598
+
599
+ * test/nitro/adapters: renamed from adaptors.
600
+
601
+ 14-02-2005 George Moschovitis <gm@navel.gr>
602
+
603
+ * lib/og.rb: require validation.
604
+
605
+ * lib/nitro.rb: require runner.
606
+
607
+ * lib/nitro/runner.rb: moved from adapters,
608
+ (self.run): added helper.
609
+ split setup in many methods to allow for overrides.
610
+
611
+ * examples/no_xsl_blog: converted.
612
+
613
+ * lib/nitro/render.rb: use @request as alias to @context.
614
+
615
+ * lib/nitro/builders/xml.rb: handle single tags like
616
+ <br/>, <hr/> etc.
617
+
618
+ * examples/wee_style/run.rb: converted,
619
+ cleaned up programmatic code.
620
+
621
+ * examples/flash: converted.
622
+
623
+ * examples/tiny: converted.
624
+
625
+ * README: updated.
626
+
627
+ * examples/README.windows: added.
628
+
629
+ * examples/: updated docs.
630
+
631
+ * lib/nitro/adapters/runner.rb: more comments,
632
+ (#run): accept hash as conf,
633
+ converted methods to non static,
634
+ (#setup): implemented,
635
+ fixed version printing,
636
+ use ENV to pass invoke methods,
637
+ ULTRA COOL: --console parameter works again.
638
+
639
+ * I love Stella (asteraki) :)
640
+
641
+ 13-02-2005 George Moschovitis <gm@navel.gr>
642
+
643
+ * lib/nitro/adapters/runner.rb: improved,
644
+ added fcgi_proc action.
645
+
646
+ * examples/blog/run.rb: introduced, runnable from everywhere.
647
+
648
+ * lib/nitro/conf.rb: introduced, default configuration paramters.
649
+
650
+ * changed base dir in applications, to be runnuble from
651
+ everywhere.
652
+
653
+ 12-02-2005 George Moschovitis <gm@navel.gr>
654
+
655
+ * INSTALL: updated.
656
+
657
+ * install.rb: implemented, refined.
658
+
659
+ * updated all example confg files.
660
+
661
+ * Introduced the 'tml' nick in the docs. :)
662
+
663
+ * README: updated.
664
+
665
+ * README.og: updated.
666
+
667
+ * lib/xsl/base.xsl: removed old tags.
668
+
669
+ * lib/glue/string.rb (#to_greeklish): removed,
670
+ (#screen_ip_address): removed.
671
+
672
+ * lib/glue/macro.rb: deprecated.
673
+
674
+ * Many fixes to many files to improve the generated RDoc
675
+ documentation.
676
+
677
+ * lib/nitro/controller.rb (#inherited): fixed caller index.
678
+
679
+ * YEAH, using a RUBYOPT trick I can develop my rubygems.
680
+
681
+ * lib/nitro/dispatcher.rb (#dispatch): beutify, added comments,
682
+ (#controller_class_for): implemented, allows for autoreloading
683
+ of controllers,
684
+ dispatcher[:index] -> dispatcher[:root], this is a better (less
685
+ confusing) name.
686
+
687
+ * small fix in ctl's.
688
+
689
+ * lib/nitro/adapters/runner.rb: added --filelog option,
690
+ some fixes,
691
+ execution modes, better handling of Rendering.reload.
692
+
693
+ 11-02-2005 George Moschovitis <gm@navel.gr>
694
+
695
+ * lib/og/adapters/sqlite.rb: added missing res.close,
696
+ use more queries to avoid array creations.
697
+
698
+ * lib/nitro/adapters/*: renamed from adaptors.
699
+
700
+ * test/tc_og.rb: added test for override db.
701
+
702
+ * lib/og/adapters/*: don't use entity,
703
+ (#calc_field_index): ensure res.close in
704
+ (#create_table): use conn.store to avoid catching the errors.
705
+
706
+ * lib/og/adapters/mysql.rb: reintroduced,
707
+ SOS: use res.free in MysqlAdapter,
708
+ set_query_with_result,
709
+ passes tests.
710
+
711
+ 10-02-2005 George Moschovitis <gm@navel.gr>
712
+
713
+ * bin/proto/conf/app.conf.rb: updated.
714
+
715
+ * Yeah, nitro/og is in the path now, no need for File.join tricks.
716
+
717
+ * Rakefile: recoded/simplified.
718
+
719
+ * bin/nitro: introduced.
720
+
721
+ * nitro.gemspec: introduced,
722
+ cleaned up, add full dependencies.
723
+
724
+ 09-02-2005 George Moschovitis <gm@navel.gr>
725
+
726
+ * lib/og/adapters/psql.rb: reintroduced,
727
+ use serial to make more compatible with mysql/sqlite,
728
+ more careful resultset clearing,
729
+ yeah, it works again.
730
+
731
+ * benchmark/og/bench.rb: introduced,
732
+ made a test with prepared statements, not a big difference.
733
+
734
+ * test/tc_og.rb: more tests.
735
+
736
+ * lib/og.rb (#adapter): introduced.
737
+
738
+ * lib/og/adapter.rb: made a singleton.
739
+ (#for_name): implemented,
740
+ pass db to all eval methods.
741
+
742
+ * lib/og/database.rb (#drop_db/#create_db): use adapter,
743
+ keep adapter.
744
+
745
+ * lib/og/*: renamed deserialize to read,
746
+ after MANY changes, this passes the simple test case.
747
+
748
+ * lib/og/adapters/sqlite.rb: reimplemented many methods,
749
+ (#count): fixed.
750
+
751
+ * lib/og/connection.rb: removed code from methods, will be implemented by the adpters,
752
+ removed deserialize option, always deserialize,
753
+ renamed conn attribute to store to avoid ubiquity.
754
+
755
+ 08-02-2005 George Moschovitis <gm@navel.gr>
756
+
757
+ * lib/og/adapter.rb: introduced, removed adapters/base.rb,
758
+ (#new_connection): implemented.
759
+
760
+ * lib/og/adapters/sqlite.rb: reintroduced.
761
+
762
+ * lib/og/database.rb: introduced, copied database related stuff from og.rb
763
+
764
+ * lib/og/adapters: renamed from adaptors.
765
+
766
+ 07-02-2005 George Moschovitis <gm@navel.gr>
767
+
768
+ * lib/og/backends/psql.rb (#initialize): use config[:address]. [rbaduin]
769
+
770
+ * lib/og/backends/sqlite.rb: passes some tests thanx to some fixes to
771
+ sqlite3 library by jamis buck,
772
+ (#start): fixed,
773
+ (#commit): fixed.
774
+ yeah it passes tc_og.rb !!
775
+
776
+ * test/nitro/adaptors/tc_cgi.rb (#test_parse_multipart): introduced.
777
+
778
+ * lib/nitro/adaptors/cgi.rb (#read_multipart): made compatible with nitro,
779
+ corect parsing of multivalues in multipart,
780
+ (#parse_multipart): custom method.
781
+ (Cgi): introduced.
782
+ (Cgi.buffer_size): introduced.
783
+
784
+ * examples/tiny/index.xhtml: upload form.
785
+
786
+ 06-02-2005 George Moschovitis <gm@navel.gr>
787
+
788
+ * lib/nitro/markup.rb: changes for type_checking.
789
+
790
+ * test/glue/tc_property_type_checking.rb: implemented.
791
+
792
+ * lib/glue/property.rb: added type_checking support.
793
+
794
+ * INSTALL: added.
795
+
796
+ * lib/og/adaptors/base.rb: introduced.
797
+
798
+ * lib/og/backends/sqlite.rb: switched to sqlite3,
799
+ fixed stupid create join tables bug,
800
+ (#create_table): correct rescue exceptions,
801
+ (#calc_field_index): fixed.
802
+
803
+ * lib/og/backends/psql.rb: fixed stupid create tables bug.
804
+
805
+ 05-02-2005 George Moschovitis <gm@navel.gr>
806
+
807
+ * cleaned up docs in many files.
808
+
809
+ * test/tc_og.rb: don't use global ($og),
810
+ run tests for all backends.
811
+
812
+ * lib/og/*: small cleanups.
813
+
814
+ * lib/og/backends/sqlite.rb (#calc_fields_index): fixed,
815
+ (#query/safe_query): fixed.
816
+ after many fixes, it kinda works.
817
+
818
+ * lib/nitro/adaptors/runner.rb: fixed lhttpd option string. [james_b]
819
+
820
+ 04-02-2005 George Moschovitis <gm@navel.gr>
821
+
822
+ * lib/og/backends/sqlite.rb: implemented many methods.
823
+
824
+ * lib/og/backends/filesys.rb: introduced.
825
+
826
+ * lib/og/version.rb: removed.
827
+
828
+ * lib/nitro/version.rb: removed.
829
+
830
+ * lib/nitro.rb: version, libpath here.
831
+
832
+ * lib/og.rb: version, libpath here.
833
+
834
+ * --- VERSION 0.9.5 ---
835
+
836
+ * lib/nitro/adaptors/fastcgi.rb: convert conf to Flexob.
837
+
838
+ * lib/nitro/adaptors/webrick.rb: added REQUEST_MUTEX to temp-fix windows bug.
839
+
840
+ 03-02-2005 George Moschovitis <gm@navel.gr>
841
+
842
+ * lib/glue/*: cleaned up some files.
843
+
844
+ * lib/og/*: cleaned up some files.
845
+
846
+ * lib/nitro/dispatchers.rb (#initialize): accept class as input.
847
+
848
+ * Updated all examples.
849
+
850
+ * lib/nitro/context.rb: out == XhtmlString to allow convienient
851
+ access to the programmatic rendering functionality and make
852
+ the wee example cooler.
853
+
854
+ * lib/nitro/adaptors/webrick.rb (#start): better handling of conf parameters,
855
+ better handling of logging,
856
+ autoconvert conf to Flexob if needed.
857
+
858
+ * examples/wee_style/wee.rb: implemented,
859
+ looks cool (but useles? :-))
860
+
861
+ * examples/wee_style/README: introduced.
862
+
863
+ * examples/wee_style/*: introduced wee-style example.
864
+
865
+ * examples/blog/lib/blog.rb: updated for new RSS.
866
+
867
+ * test/nitro/builders/tc_rss.rb: introduced.
868
+
869
+ * lib/nitro/builders/rss.rb: pass parameters,
870
+ (#render): now alias for render_0_9
871
+
872
+ * lib/og/meta.rb (#joins): introduced new metadata macro.
873
+
874
+ 02-02-2005 George Moschovitis <gm@navel.gr>
875
+
876
+ * --- VERSION 0.9.4 ---
877
+
878
+ * lib/og/backends/sqlite.rb: introduced.
879
+
880
+ * lib/og/backends/psql.rb: minor cleanup.
881
+
882
+ * examples/blog/root/style.css: fixes for IE, more needed.
883
+
884
+ * lib/nitro/adaptors/fastcgi.rb (#handle): restore Og connection.
885
+
886
+ * lib/nitro/adaptors/webrick.rb (#handle): restore Og connection, fixes
887
+ Windows deadlock. [james_b]
888
+
889
+ * examples/no_xsl_blog/lib/blog/template.rb: fixed ruby in template (login).
890
+
891
+ * changed default port to 8069, to avoid conflicts with
892
+ other servers (8080 was too common). [james_b]
893
+
894
+ 01-02-2005 George Moschovitis <gm@navel.gr>
895
+
896
+ * updated Rubyforge page, added wiki.
897
+
898
+ * --- VERSION 0.9.3 ---
899
+
900
+ * small fixes to make tests pass again.
901
+
902
+ * lib/nitro/adaptors/webrick.rb: update headers with req.meta_vars.
903
+
904
+ * lib/nitro/request.rb (#host): better calculation,
905
+ made compatible with IE/windows.
906
+
907
+ * examples/no_xsl_blog/lib/blog/template.rb: fixes.
908
+
909
+ * examples/blog/root/style.xsl: fixes.
910
+
911
+ * README: updated.
912
+
913
+ * lib/nitro/controller.rb (#method_missing): :partial reload hack fix.
914
+
915
+ 31-01-2005 George Moschovitis <gm@navel.gr>
916
+
917
+ * examples/no_xsl_blog/lib/blog/template.rb: fixed rest links.
918
+
919
+ * Yeah, the no_xsl_blog example runs under windows.
920
+
921
+ * lib/nitro/adaptors/fastcgi.rb: some changes, now POST works.
922
+
923
+ * lib/nitro/adaptors/cgi.rb (#parse_params): introduced from cgi.rb,
924
+ (#parse_cookies): get context, no return.
925
+
926
+ * lib/nitro/request.rb: env_table alias, for compatibility with
927
+ cgi.rb.
928
+
929
+ * Fixed lhttpd.conf to all examples and proto.
930
+
931
+ * Fixed many inconsistencies in the README files.
932
+
933
+ * lib/nitro/adaptors/runner.rb: log_to_file option,
934
+ use lighttpd as name to be more compatible.
935
+
936
+ 30-01-2005 George Moschovitis <gm@navel.gr>
937
+
938
+ * lib/nitro/adaptors/runner.rb: fixed bug with fcgi.
939
+
940
+ * lib/nitro/adaptors/webrick.rb: upcase headers, fixes bug.
941
+
942
+ * README: fixed bugs and obsolete documentation.
943
+
944
+ * lib/glue/object.rb: remove class support.
945
+
946
+ * lib/nitro/controller.rb: keep classdef_file with inherited. [mneumann]
947
+
948
+ * lib/og/*: cleaned up by removing Og::*.
949
+
950
+ * lib/og/meta.rb (MetaUtils#resolve_class): implemented.
951
+
952
+ * lib/nitro/events.rb: deprecated, rails-style filter achieve the same effect
953
+ more elegantly and more optimized.
954
+
955
+ * lib/og/backends/mysql.rb (#deserialize_all): return [] if no rows. [mneumann]
956
+
957
+ * lib/og/backends/psql.rb (#deserialize_all): return [] if no rows. [mneumann]
958
+
959
+ * lib/og/connection.rb: use meta[:has] instead of og_descendants.
960
+
961
+ * test/tc_og.rb: added more tests.
962
+
963
+ * lib/og/meta.rb (#belongs_to): add meta data [mneumann],
964
+ (#has_one): add meta data - removed descndants [mneumann],
965
+ (#has_many): add meta data - removed descendants [mneumann],
966
+ (#many_to_many): add medata [mneumann],
967
+ (#refers_to): add metadata, also ads :has metadata [mneuamann].
968
+
969
+ * lib/og/enchant.rb: added Class.get alias. [mneumann]
970
+
971
+ 28-01-2005 George Moschovitis <gm@navel.gr>
972
+
973
+ * lib/nitro/localization.rb: renamed from l10n.rb,
974
+ (Localization): introduced.
975
+
976
+ * etc: removed.
977
+
978
+ * RELEASES.og: updated.
979
+
980
+ * RELEASES: updated.
981
+
982
+ * README.og: updated.
983
+
984
+ * lib/nitro/controller.rb (#method_missing): more flexible.
985
+
986
+ * lib/nitro/render.rb (#compile_action): hack fixed non-action bug.
987
+
988
+ * examples/no_xsl_blog/*: renamed from plainblog, converted,
989
+ converted template.
990
+
991
+ * lib/nitro/adaptors/runner.rb: implemented,
992
+ Runner is used in all ctls.
993
+
994
+ * lib/xsl/xforms.xsl: obsolete, removed.
995
+
996
+ * lib/xsl/ui.xsl: obsolete, removed.
997
+
998
+ * examples/flash/*: updated.
999
+
1000
+ * bin/proto: new and improved index page for the prototype
1001
+ application,
1002
+ added gfx and minimal help.
1003
+
1004
+ * examples/tiny/*: use ctl.
1005
+
1006
+ * lib/og/*: cleaned up some sourcefiles.
1007
+
1008
+ * install.rb: introduced.
1009
+
1010
+ * lib/og.rb (Og): cleaned up, use cattr_accessor for setup.
1011
+
1012
+ * lib/og/backends/mysql.rb (#write_prop): fixed boolean.
1013
+
1014
+ 28-01-2005 Michael Neumann <mneumann@ntecs.de>
1015
+
1016
+ * lib/og/backends/psql.rb (#write_prop): fixed boolean.
1017
+
1018
+ 27-01-2005 George Moschovitis <gm@navel.gr>
1019
+
1020
+ * README: updated and fixed many bugs,
1021
+ updated features.
1022
+
1023
+ * examples/blog/ctl: introduced,
1024
+ runs the WEBrick server,
1025
+ runs the Lighttpd server.
1026
+
1027
+ * lib/og/backends/psql.rb (#read_prop): fixed boolean read [mneumann].
1028
+ fixed boolean type (tinyint).
1029
+
1030
+ * lib/og/backends/psql.rb (#read_prop): fixed boolean read [mneumann].
1031
+
1032
+ * lib/nitro/dispatcher (#dispatch): fixed bug.
1033
+
1034
+ * some changes to make the tests pass again.
1035
+
1036
+ * test/nitro/server: deprecated.
1037
+
1038
+ * lib/nitro/ui/sitemap.rb: moved here!
1039
+
1040
+ * lib/nitro/server.rb: deprecated.
1041
+
1042
+ * lib/nitro/service.rb: deprecated.
1043
+
1044
+ * lib/nitro/config.rb: deprecated.
1045
+
1046
+ * lib/nitro/server/*: deprecated.
1047
+
1048
+ 26-01-2005 George Moschovitis <gm@navel.gr>
1049
+
1050
+ * lib/nitro/scaffold.rb: updated.
1051
+
1052
+ * lib/nitro/dispatcher.rb (#dispatch): return content_type.
1053
+
1054
+ * lib/nitro/context.rb (#fill): added.
1055
+
1056
+ * lib/nitro/ui/pager.rb: updated for lates code.
1057
+
1058
+ * lib/nitro/render.rb: request alias for context,
1059
+ (#redirect): fixed.
1060
+ (#render): raise when no controller found.
1061
+ (#render): fixed template extension selection,
1062
+ (#compile_action): don't set content_type.
1063
+
1064
+ * lib/nitro/controller.rb: include Scaffolding, Filtering.
1065
+
1066
+ * examples/blog/*: many changes to support new code,
1067
+ yeah, it kinda works!
1068
+ index session with symbols.
1069
+
1070
+ * examples/blog/lib/*: changed sirectory structure.
1071
+
1072
+ 25-01-2005 George Moschovitis <gm@navel.gr>
1073
+
1074
+ * examples/blog/*: conversion to new code.
1075
+
1076
+ * lib/nitro/render.rb: call Rendering.reset.
1077
+
1078
+ * lib/glue/misc.rb (#delete_class_hierarchy): introduced.
1079
+
1080
+ * lib/nitro/context.rb: lazy session lookup.
1081
+
1082
+ * lib/nitro/adaptors/fastcgi.rb: no session lookup.
1083
+
1084
+ * lib/nitro/adaptors/webrick.rb (#handle): no session lookup.
1085
+
1086
+ * lib/nitro/shaders.rb (RubyShader#process): <include>-><render>
1087
+
1088
+ * lib/nitro/dispatcher.rb (#dispatch): better handle tha base calc.
1089
+
1090
+ * lib/nitro/buffering.rb: copied buffering code here.
1091
+
1092
+ * lib/glue/flexob.rb: introduced.
1093
+
1094
+ 24-01-2005 George Moschovitis <gm@navel.gr>
1095
+
1096
+ * benchmark/nitro: added first benchmarks.
1097
+
1098
+ * lib/nitro/adaptors/webrick.rb: works with new cookie code.
1099
+
1100
+ * yeah, sessions and cookies work with fastcgi.
1101
+
1102
+ * lib/nitro/cookie.rb: implemented.
1103
+
1104
+ * lib/nitro/session.rb: converted to new cookie code.
1105
+
1106
+ * lib/nitro/html.rb: deprecated.
1107
+
1108
+ * lib/nitro/http.rb: deprecated.
1109
+
1110
+ * lib/nitro/user.rb: deprecated.
1111
+
1112
+ * test/nitro/adaptors/tc_cgi.rb: introduced.
1113
+
1114
+ * lib/nitro/adaptors/cgi.rb: introduced.
1115
+ (CgiUtils): introduced.
1116
+ (CgiUtils#parse_query_string): implemented.
1117
+ (CgiUtils#parse_cookies): implemented.
1118
+ (CgiUtils#response_headers): implemented.
1119
+
1120
+ * examples/tiny: cleanup, new dir structure.
1121
+
1122
+ * examples/tiny/conf/nitro.conf.rb: introduced.
1123
+
1124
+ * examples/tiny/conf/lhttpd.conf: introduced,
1125
+ improved redirect scheme, keeps request_uri correct!
1126
+
1127
+ * examples/tiny/conf: introduced.
1128
+
1129
+ * lib/glue/misc.rb (#silence_warnings): introduced.
1130
+
1131
+ * create fastcgi redirect for lighthttpd.
1132
+
1133
+ * lib/nitro/adaptors/fastcgi.rb: introduced,
1134
+ Wrapper Class like the webrick adaptor,
1135
+ parse query string.
1136
+
1137
+ * lib/og/enchant.rb (#each): added iterator support [mneumann],
1138
+ include Enumeration [mneumann]
1139
+
1140
+ 23-01-2005 George Moschovitis <gm@navel.gr>
1141
+
1142
+ * examples/tiny: yeah, sessions work again.
1143
+
1144
+ * lib/nitro/render.rb (#render): allow for nested calls.
1145
+
1146
+ * lib/nitro/context.rb: store conf.
1147
+ first cut of session code.
1148
+
1149
+ * lib/nitro/adaptor/webrick.rb: better handling of conf,
1150
+ extend WEBrick::HTTPResponse to make compatible with Nitro.
1151
+
1152
+ * lib/nitro/controller.rb (#method_missing): moved here.
1153
+
1154
+ * test/nitro/tc_session.rb: introduced.
1155
+
1156
+ * lib/nitro/session.rb: introduced.
1157
+ (#create_id): implemented.
1158
+ (#lookup): implemented.
1159
+ (Session): extend from Hash.
1160
+
1161
+ 22-01-2005 George Moschovitis <gm@navel.gr>
1162
+
1163
+ * lib/nitro/adaptors/webrick.rb: pass query.
1164
+
1165
+ * lib/nitro.rb: added default requires.
1166
+
1167
+ * examples/tiny/app2.rb: testbed for new Nitro.
1168
+
1169
+ * lib/nitro/render.rb (RenderExit): defined again,
1170
+ (#method_missing): ultracool remove_method trick to support script
1171
+ reloading.
1172
+
1173
+ * lib/nitro/adaptors/webrick.rb (#start): get and store conf.
1174
+
1175
+ * lib/nitro/request.rb (#referer): added.
1176
+
1177
+ * lib/nitro/context.rb: requires.
1178
+
1179
+ 21-01-2005 George Moschovitis <gm@navel.gr>
1180
+
1181
+ * lib/nitro/dispatcher.rb: keeps root dir.
1182
+
1183
+ * stopped using N prefix all around.
1184
+
1185
+ * lib/nitro/render.rb: fixed method_missing.
1186
+ correct shader mattr.
1187
+
1188
+ * lib/nitro/response.rb (#content_type=): implemented.
1189
+
1190
+ * test/nitro/tc_controller.rb: introduced.
1191
+
1192
+ 20-01-2005 George Moschovitis <gm@navel.gr>
1193
+
1194
+ * lib/nitro/render.rb (OutputBuffering): moved output
1195
+ buffering methods to a separate module.
1196
+
1197
+ * lib/nitro/context.rb: includes Request/Response.
1198
+
1199
+ * lib/nitro/request.rb: converted to module.
1200
+
1201
+ * lib/nitro/response.rb: converted to module.
1202
+
1203
+ * lib/nitro/adaptors/webrick.rb (#handle): streamlined
1204
+ using Context.
1205
+
1206
+ * test/nitro/tc_dispatcher.rb: introduced.
1207
+
1208
+ * lib/nitro/mail.rb: use mattr.
1209
+
1210
+ * lib/nitro/controller.rb: introduced.
1211
+
1212
+ * lib/nitro/dispatcher.rb (resolve_path): changed return order,
1213
+ encode api in the action,
1214
+ (#dispatch): renamed from resolve_path,
1215
+ only returns cklass and action.
1216
+ (#add_api): support for multi-api dispatchers.
1217
+
1218
+ 19-01-2005 George Moschovitis <gm@navel.gr>
1219
+
1220
+ * lib/nitro/render.rb: no params,
1221
+ (Rendering): added mattrs,
1222
+
1223
+ * lib/nitro/shaders.rb: moved outside.
1224
+
1225
+ 18-01-2005 George Moschovitis <gm@navel.gr>
1226
+
1227
+ * lib/nitro/render.rb: introduced new version.
1228
+
1229
+ * lib/nitro/request.rb (#method): implemented,
1230
+ (#remote_ip): implemented.
1231
+ implemented more methods.
1232
+
1233
+ 17-01-2005 George Moschovitis <gm@navel.gr>
1234
+
1235
+ * lib/glue.rb: define module N.
1236
+
1237
+ * lib/nitro/filters: introduced.
1238
+
1239
+ * lib/nitro/server/dispatcher.rb: don't use $og.
1240
+
1241
+ * lib/nitro/adaptors/webrick: new implementation.
1242
+ (WebrickAdaptor): introduced.
1243
+ (Webrick#start): introtuced.
1244
+
1245
+ * lib/nitro/server/filters: deprecated.
1246
+
1247
+ * lib/nitro/server/filters.rb: deprecated.
1248
+
1249
+ * cleaned up many files.
1250
+
1251
+ * lib/nitro/server/handlers.rb: deprecated.
1252
+
1253
+ * lib/nitro/server/fragment.rb: deprecated.
1254
+
1255
+ * lib/nitro/server/script.rb: deprecated.
1256
+
1257
+ * updated svn repository.
1258
+
1259
+ 16-01-2005 George Moschovitis <gm@navel.gr>
1260
+
1261
+ * lib/nitro/adaptors: introduced.
1262
+
1263
+ * examples/plainblog/README: updated docs.
1264
+
1265
+ * examples/plainblog/lib/template.rb: implemented.
1266
+ Yeah, the plainblog example works without xslt.
1267
+
1268
+ * examples/plainblog: introduced,
1269
+ converted all pages to the simple templating system.
1270
+
1271
+ 15-01-2005 George Moschovitis <gm@navel.gr>
1272
+
1273
+ * cleaned up many files.
1274
+
1275
+ * lib/nitro/application.rb: cleanup.
1276
+
1277
+ 14-01-2005 George Moschovitis <gm@navel.gr>
1278
+
1279
+ * test/tc_og.rb: added more tests.
1280
+
1281
+ * lib/og/version: no more a global variable.
1282
+
1283
+ * test/glue/tc_property.rb: test for macro params.
1284
+
1285
+ * lib/glue/property.rb (PropertyUtils#resolve_prop_params):
1286
+ factors out common code between the propXXX methods,
1287
+ extra checks for the params,
1288
+ removed dupplicate code from propXXX methods [mneumann].
1289
+
1290
+ * lib/og/enchant.rb (#enchant): #create captures the given block
1291
+ and propagates to the objects constructor.
1292
+
1293
+ * AUTHORS: updated.
1294
+
1295
+ * lib/og/meta.rb (MetaLanguage#refers_to): implemented [mneumann].
1296
+ (#has_one): creates delete_xxx method.
1297
+ (#has_many): creates delete_all_xxx method.
1298
+ removed del_xxx alias [mneumann].
1299
+
1300
+ * examples/og/run.rb: use delete_xxx in many_to_many [mneumann].
1301
+
1302
+ 14-01-2005 Michael Neumann <mneumann@ntecs.de>
1303
+
1304
+ * lib/glue/property.rb (#prop): changed expansion to allow for
1305
+ macro parameters.
1306
+
1307
+ 13-01-2005 George Moschovitis <gm@navel.gr>
1308
+
1309
+ * lib/og.rb: Og.include_meta_language by default is FALSE [mneumann].
1310
+
1311
+ * lib/glue/property.rb (PropertyUtils#include_meta_mixins): introduced.
1312
+ (#prop): include Og::MetaLanguage.
1313
+
1314
+ 12-01-2005 George Moschovitis <gm@navel.gr>
1315
+
1316
+ * --- VERSION 0.8.0 ---
1317
+
1318
+ * RELEASES.og: updated.
1319
+
1320
+ * RELEASES: updated.
1321
+
1322
+ * README: updated.
1323
+
1324
+ * README.og: updated.
1325
+
1326
+ * lib/glue/property.rb (#prop): include N::Validation when appending
1327
+ a managed module.
1328
+
1329
+ * examples/blog/root/entr_form.xhtml: added error reporting.
1330
+
1331
+ * found out NASTY reload bug, temporarily dissabled!
1332
+
1333
+ * lib/glue/logger.rb: (Logger#error): added.
1334
+
1335
+ * lib/server/render.rb: improved source,
1336
+ (#render): dissabled reloading.
1337
+ (#redirect_referer): optional postfix.
1338
+
1339
+ * lib/nitro/markup.rb: fixed namespace,
1340
+ (#expand/#compact): excluded wiki markup from default.
1341
+
1342
+ * examples/blog/config.rb: require markup, validation.
1343
+
1344
+ * examples/blog/root/style.xsl: <x:error> introduced.
1345
+
1346
+ * examples/blog/lib/blog.rb: extend from content,
1347
+ use auto markup functionality,
1348
+ thanks for the magic of auto markup, comments get
1349
+ expanded correctly now, for free :),
1350
+ (#new_entry): added validation/error reporting!
1351
+ (#get_errors): useful prefilter,
1352
+ (Common): made this a module (mixin).
1353
+
1354
+ 11-01-2005 George Moschovitis <gm@navel.gr>
1355
+
1356
+ * test/glue/tc_validation.rb (#test_validate_length): implemented.
1357
+ cooler, all tests pass.
1358
+
1359
+ * lib/glue/validation.rb (#validate_length): implemented,
1360
+ allow sprintf style error messages,
1361
+ (#validate_inclusion): implemented.
1362
+
1363
+ 10-01-2005 George Moschovitis <gm@navel.gr>
1364
+
1365
+ * test/nitro/builders/tx_xhtml.rb: introduced,
1366
+ yeah, cases pass :)
1367
+
1368
+ * lib/og/enchant.rb (#enchant): #one alias for #select_one [mneumann].
1369
+
1370
+ * lib/nitro/builders/xhtml.rb: introduced.
1371
+ (#options): implemented,
1372
+ (#select): implemented.
1373
+
1374
+ * lib/nitro/builders/xml.rb (#method_missing): added support
1375
+ for blocks in tags,
1376
+ (#comment): implemented.
1377
+
1378
+ 09-01-2005 George Moschovitis <gm@navel.gr>
1379
+
1380
+ * test/nitro/builders/tc_xml.rb: introduced,
1381
+ (#test_missing): implemented.
1382
+
1383
+ * lib/nitro/builders/xml.rb: introduced,
1384
+ (#start_tag, #end_tag): implemented.
1385
+ (#method_missing): implemented,
1386
+ (XmlBuilder): implemented.
1387
+
1388
+ * vendor/blankslate.rb: integrated blankslate lib by
1389
+ Jim Weirich <jim@weirichhouse.org> [jweirich].
1390
+
1391
+ 08-01-2005 George Moschovitis <gm@navel.gr>
1392
+
1393
+ * lib/glue/vaildation.rb (#validate_confirmation): implemented,
1394
+ (MetaLanguage): customization options,
1395
+ (#validate_value): implemented,
1396
+
1397
+ 07-01-2005 George Moschovitis <gm@navel.gr>
1398
+
1399
+ * test/glue/tc_validation.rb: implemented many tests.
1400
+
1401
+ * lib/glue/property.rb (#prop): auto include the N::Validation module
1402
+ in the parent class if defined!
1403
+ (PropertyUtils#get_prop): implemented.
1404
+
1405
+ * lib/glue/validation.rb (Validation::Errors): introduced,
1406
+ empty, size, add methods.
1407
+ recoded validation code and now works!
1408
+ (eval_validate): fixed for multiple objects.
1409
+ (Validation::Errors): keep error strings here.
1410
+ (MetaLanguage): introduced.
1411
+ MEGA: use meta :validations to store validations!
1412
+ (Validation::Errors): each, clear.
1413
+
1414
+ 05-01-2005 George Moschovitis <gm@navel.gr>
1415
+
1416
+ * test/*: cleaned up some unit tests.
1417
+
1418
+ * lib/*: removed all $log references!
1419
+
1420
+ * lib/glue/*: use N:: prefix for all files.
1421
+
1422
+ 04-01-2005 George Moschovitis <gm@navel.gr>
1423
+
1424
+ * test/glue/tc_attribute.rb: implemented.
1425
+
1426
+ * lib/glue/attribute.rb: introduced,
1427
+ default value for module/class attributes.
1428
+
1429
+ * lib/glue/validation.rb: introduced,
1430
+ (Validation#validate_format): implemented.
1431
+ (Validator): introduced,
1432
+ (Validator#eval_validation_method): introduced.
1433
+
1434
+ * README: running units section.
1435
+
1436
+ 03-01-2005 George Moschovitis <gm@navel.gr>
1437
+
1438
+ * lib/nitro/builders/form.rb (#render): emmit id's to make
1439
+ the generated forms more style-able.
1440
+
1441
+ * lib/glue.rb: removed EMPTY_STRING constant [mneumann].
1442
+
1443
+ * Rakefile: include vendor in Og distribution.
1444
+
1445
+ 02-01-2005 George Moschovitis <gm@navel.gr>
1446
+
1447
+ * vendor/extensions: integrated extensions library by
1448
+ Gavin Sinclair <gsinclair@soyabean.com.au>
1449
+
1450
+ * test/glue/tc_logger.rb: introduced.
1451
+
1452
+ * lib/og.rb: removed logger methods.
1453
+
1454
+ * lib/glue/logger.rb: added static methods and global logger,
1455
+ (#i, #d): removed.
1456
+ (#trace): added trace method from dev-utils by
1457
+ Gavin Sinclair <gsinclair@soyabean.com.au>,
1458
+ fixed Binding.of_caller bug.
1459
+ (#get): implemented.
1460
+
1461
+ 01-01-2005 George Moschovitis <gm@navel.gr>
1462
+
1463
+ * started using the $:.unshift File.join trick.
1464
+
1465
+ 30-12-2004 George Moschovitis <gm@navel.gr>
1466
+
1467
+ * lib/og/mock.rb: include Og::Enchant,
1468
+ some more fixes to make this work.
1469
+
1470
+ * lib/og/enchant.rb: introduced, factors out some code used
1471
+ by the MockDatabase.
1472
+
1473
+ * lib/og/*: converted to new code.
1474
+
1475
+ * lib/og/meta.rb: don't use $og. [mneumann]
1476
+
1477
+ * lib/og.rb: made Og a class,
1478
+ removed $og_xx_xx options, use class methods [mneumann]
1479
+ (Og##use): introduced.
1480
+ (#enchant): use Og.db.connection.
1481
+ (Database): create!/drop! aliases,
1482
+ include Og::Enchant.
1483
+ introduced Og.log.
1484
+
1485
+ 29-12-2004 George Moschovitis <gm@navel.gr>
1486
+
1487
+ * lib/og/mysql.rb: removed Og::Utils, integrated methods in Backend.
1488
+
1489
+ * lib/og/psql.rb: removed Og::Utils, integrated methods in Backend.
1490
+
1491
+ * lib/og/backend.rb: removed Og::Utils, integrated methods in Backend,
1492
+ to allow for multiple backend is one App [bcandler].
1493
+
1494
+ * lib/og.rb (#enchant): enchant methods DONT use $og anymmore. [mneumann]
1495
+
1496
+ * AUTHORS: updated.
1497
+
1498
+ * examples/og/mysql_to_psql.rb: introduced and implemented.
1499
+
1500
+ 27-12-2004 George Moschovitis <gm@navel.gr>
1501
+
1502
+ * lib/parts/content.rb (CreateTime): introduced.
1503
+
1504
+ * lib/parts/README: introduced.
1505
+
1506
+ * --- VERSION 0.7.0 ---
1507
+
1508
+ * lib/og/mock.rb: fix, don't wrap methods.
1509
+
1510
+ * Rakefile: fix.
1511
+
1512
+ 26-12-2004 George Moschovitis <gm@navel.gr>
1513
+
1514
+ * lib/nitro/server/render.rb (#compile_xxx_method): better handling
1515
+ of redirects,
1516
+ (RenderExit): introduced,
1517
+ (#redirect): rewritten, raise RenderExit.
1518
+
1519
+ * lib/nitro/markup.rb (PropertyUtils#prop_setter): override.
1520
+ (#markup): removed.
1521
+ (#expand, #narrow): fixed,
1522
+ YEAH, markup works.
1523
+
1524
+ * lib/glue/property.rb (PropertyUtils#prop_setter): factored out.
1525
+
1526
+ * lib/nitro/markup.rb: narrow -> compact (better english) [knasis].
1527
+
1528
+ 25-12-2004 George Moschovitis <gm@navel.gr>
1529
+
1530
+ * MERRY XMAS :)
1531
+
1532
+ 22-12-2004 George Moschovitis <gm@navel.gr>
1533
+
1534
+ * lib/nitro/markup.rb: introduced,
1535
+ (#markup): implemented.
1536
+
1537
+ * lib/nitro/server/render.rb: stop the pipeline if return false,
1538
+ fixed redirect bug.
1539
+
1540
+ * lib/nitro/server/dispatcher.rb: dump rendering_errors in error page.
1541
+
1542
+ * lib/parts/content.rb: working with modules,
1543
+ (Markup): introduced.
1544
+
1545
+ * lib/nitro/builders/form.rb: :ui modifier instead of :form,
1546
+ (#render): handle the :markup meta data.
1547
+
1548
+ * Rakefile: og distribution includes tests + Rakefile [tquas]
1549
+
1550
+ 21-12-2004 George Moschovitis <gm@navel.gr>
1551
+
1552
+ * lib/og/mock.rb: Call wrap methods.
1553
+
1554
+ * test/glue/tc_property_mixins.rb: automanagement unit tests [by tquas],
1555
+ made it pass.
1556
+
1557
+ * test/og/tc_lifecycle.rb: lifecycle unit tests [by tquas]
1558
+
1559
+ * lib/og/meta.rb (#has_many): enchant with add_XXX the container
1560
+ class [mneumann].
1561
+
1562
+ * test/tc_og.rb: added test for create.
1563
+
1564
+ * Rakefile: add ChangeLog in og distribution.
1565
+
1566
+ * lib/og/backend.rb (#table): use the $og_table_prefix.
1567
+
1568
+ * lib/og.rb: $og_table_prefix,
1569
+ (#enchant): use module_eval with __FILE__, __LINE__,
1570
+ (#enchant): add create method [mneumann]
1571
+
1572
+ * README: updated with breakpoint info.
1573
+
1574
+ * lib/og/mock.rb: fixed [tquas].
1575
+
1576
+ * vendor: added 'breakpoint' by Florian Gross [fgross].
1577
+ tested breakpoint integration, it works!
1578
+
1579
+ 20-12-2004 George Moschovitis <gm@navel.gr>
1580
+
1581
+ * test/glue/tc_propert.rb: fixed test.
1582
+
1583
+ * lib/glue/propery.rb: (#prop) totaly recoded, doesnt polute Module any
1584
+ more,
1585
+ (#__add_prop): recoded, gets target, no more reader, writer params.
1586
+ use <<-"end_eval" to get better error reporting!
1587
+ (#property): ultra cool append feature hack avoids passing @@__props from
1588
+ a Module to the Class that includes it --> BLACK MAGIC.
1589
+ (Property#enchant): implemented.
1590
+ (PropertyUtils): introduced.
1591
+ (PropertyUtils#add_prop): yeah, removed from Module!
1592
+ (#meta): recoded.
1593
+ (PropertyUtils#*): also handle meta.
1594
+ (#inherit_meta): removed.
1595
+ (#meta): fixed bug.
1596
+ fix: no more @@__props redifen warnings when running with -w [tquas]
1597
+
1598
+ * lib/og.rb: (#initialize): automanage classes that include a manageable
1599
+ Module (hack),
1600
+ (#convert): convert classes that include a manageable Module (hack).
1601
+ (#convert): no need to call inherit_meta.
1602
+
1603
+ 19-12-2004 George Moschovitis <gm@navel.gr>
1604
+
1605
+ * benchmark/nitro: introduced.
1606
+
1607
+ * benchmark/og: introduced.
1608
+
1609
+ 18-12-2004 George Moschovitis <gm@navel.gr>
1610
+
1611
+ * README: updated some texts,
1612
+ added description of contents section.
1613
+
1614
+ 17-12-2004 George Moschovitis <gm@navel.gr>
1615
+
1616
+ * bin/new_app.rb: made win32 compatible.
1617
+
1618
+ * lib/nitro/server/webrick.rb: win32 compatible.
1619
+
1620
+ * bin/new_form.rb: introduced and implemented.
1621
+
1622
+ * lib/nitro/builders/form.rb: require safehash,
1623
+ better formatting.
1624
+
1625
+ 16-12-2004 George Moschovitis <gm@navel.gr>
1626
+
1627
+ * lib/og/meta.rb (many_to_many): changed API.
1628
+
1629
+ * test/tc_og.rb: updated.
1630
+
1631
+ * lib/og/backends/mysql.rb (#create_table): use create_fields,
1632
+ NOT NULL in join tables.
1633
+
1634
+ * lib/og/backends/psql.rb (#create_table): use create_fields,
1635
+ NOT NULL in join tables.
1636
+
1637
+ * lib/og/backend.rb (#create_fields): implemented,
1638
+ also use :extra_sql modifier [req tquas].
1639
+
1640
+ 15-12-2004 George Moschovitis <gm@navel.gr>
1641
+
1642
+ * bin/new_app.rb: handle trailing '/'.
1643
+
1644
+ * bin/proto/root/style.css: cleaned up.
1645
+
1646
+ * bin/proto/root/style.xsl: cleaned up.
1647
+
1648
+ * bin/proto/root/index.xhtml: cleaned up.
1649
+
1650
+ * lib/parts/content.rb: introduced,
1651
+ (Content): introduced,
1652
+ (Category): introduced,
1653
+ (ACL): introduced.
1654
+
1655
+ * lib/og/meta.rb: changed has_one signature [patch by tquas]
1656
+
1657
+ * examples/og/mock_example.rb: introduced,
1658
+ improved, added test-unit code.
1659
+
1660
+ * lib/og/mock.rb: implemented mock database. [patch by tquas]
1661
+
1662
+ 14-12-2004 George Moschovitis <gm@navel.gr>
1663
+
1664
+ * examples/blog/root/style.xsl: fixed a bug.
1665
+
1666
+ 13-12-2004 George Moschovitis <gm@navel.gr>
1667
+
1668
+ * lib/shaders.rb (RubyShader): added support for statically including
1669
+ files.
1670
+
1671
+ * lib/server/render.rb (RenderUtils): dump method helps in debugging.
1672
+
1673
+ * examples/flash/lib/flash.rb: introduced service,
1674
+ yeah with some SHITY ming code the example works.
1675
+
1676
+ * examples/flash: introduced flash example.
1677
+
1678
+ 10-12-2004 George Moschovitis <gm@navel.gr>
1679
+
1680
+ * lib/og/backends/psql-pr.rb: introduced Postgres-PR backend.
1681
+
1682
+ * --- VERSION 0.6.0 ---
1683
+
1684
+ * bin/new_app.rb: remove .svn dirs.
1685
+
1686
+ * final preparations for release.
1687
+
1688
+ * ChangeLog: branched from 'doc/ChangeLog.1'.