nitro 0.13.0 → 0.14.0

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