og 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +4 -1
- data/ChangeLog +290 -7
- data/README.og +3 -4
- data/RELEASES.og +50 -0
- data/Rakefile +7 -7
- data/examples/og/run.rb +1 -1
- data/lib/glue/array.rb +14 -33
- data/lib/glue/hash.rb +32 -53
- data/lib/glue/pool.rb +9 -12
- data/lib/glue/property.rb +31 -9
- data/lib/og.rb +20 -12
- data/lib/og/adapter.rb +40 -13
- data/lib/og/adapters/filesys.rb +121 -0
- data/lib/og/adapters/mysql.rb +10 -5
- data/lib/og/adapters/oracle.rb +374 -0
- data/lib/og/adapters/psql.rb +10 -23
- data/lib/og/adapters/sqlite.rb +3 -3
- data/lib/og/backend.rb +2 -2
- data/lib/og/connection.rb +6 -6
- data/lib/og/database.rb +5 -5
- data/lib/og/enchant.rb +6 -2
- data/lib/og/meta.rb +56 -26
- data/lib/og/mock.rb +1 -1
- data/lib/og/typemacros.rb +23 -0
- data/test/og/tc_filesys.rb +83 -0
- data/test/og/tc_meta.rb +55 -0
- data/test/tc_og.rb +115 -36
- metadata +8 -4
- data/ChangeLog.1 +0 -2344
data/AUTHORS
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
MAIN DEVELOPER:
|
2
2
|
|
3
3
|
* George Moschovitis <gm@navel.gr>
|
4
|
-
Project
|
4
|
+
Project leader, architecture and design, code,
|
5
5
|
documentation, maintainer.
|
6
6
|
|
7
7
|
IDEAS, ADDITIONAL CODING, SUPPORT:
|
@@ -9,6 +9,9 @@ IDEAS, ADDITIONAL CODING, SUPPORT:
|
|
9
9
|
* Michael Neumann <mneumann@ntecs.de>
|
10
10
|
Design, additional coding and bug reports.
|
11
11
|
|
12
|
+
* Matt Bowen <matt.bowen@farweststeel.com>
|
13
|
+
Additional code and documentation.
|
14
|
+
|
12
15
|
* Anastasios Koutoumanos <ak@navel.gr>
|
13
16
|
Design, additional coding.
|
14
17
|
|
data/ChangeLog
CHANGED
@@ -1,5 +1,288 @@
|
|
1
|
+
28-02-2005 George Moschovitis <gm@navel.gr>
|
2
|
+
|
3
|
+
* lib/nitro/controller.rb (#action_method_arguments): implemented.
|
4
|
+
|
5
|
+
* lib/nitro.rb: added resolve_action_arguments,
|
6
|
+
define Nitro before requiring.
|
7
|
+
|
8
|
+
* lib/nitro/render.rb: added a simple check for ParseTree.
|
9
|
+
|
10
|
+
* Rakefile: no ParseTree dependency,
|
11
|
+
include og_config/og_tutorial in the docs.
|
12
|
+
|
13
|
+
* use 127.0.0.1 as default address Windows gets fucked with 0.0.0.0
|
14
|
+
|
15
|
+
* lib/nitro/simple.rb: hack fix for SimpleController problem.
|
16
|
+
|
17
|
+
* lib/og/adapters/oracle.rb: small fixes [mbowen].
|
18
|
+
|
19
|
+
* lib/og/adapter.rb: fixed DEFAULT NOT NULL to make oracle compaible [mbowen].
|
20
|
+
|
21
|
+
* doc/og_tutorial.txt: more fixes [james_b],
|
22
|
+
made more compatible with RDoc.
|
23
|
+
|
24
|
+
27-02-2005 George Moschovitis <gm@navel.gr>
|
25
|
+
|
26
|
+
* lib/nitro/adapters/xhtml.rb (#submit): introduced.
|
27
|
+
|
28
|
+
* lib/nitro/request.rb (#path_info): introduced.
|
29
|
+
|
30
|
+
* lib/nitro/adapters/webrick.rb (#start): check for Conf instead of Flexob.
|
31
|
+
|
32
|
+
* examples/why_wiki/run.rb: introduced the wiki example from
|
33
|
+
redhanded.hobix.com (btw, why_ fuckin RULEZ!),
|
34
|
+
converted to use the programmatic render,
|
35
|
+
more fixes, now fully working, better than why_'s original.
|
36
|
+
|
37
|
+
* many small fixes to make tests pass again.
|
38
|
+
|
39
|
+
* lib/controller.rb (#action_methods): temp fix for pretty_print
|
40
|
+
methods, argh!
|
41
|
+
|
42
|
+
* examples/*: added apache configuration to all examples,
|
43
|
+
updated fcgi.rb in examples.
|
44
|
+
|
45
|
+
* examples/blog/conf/apache.conf: pass -rubygems -I.. to make compatible
|
46
|
+
with lhttpd.
|
47
|
+
|
48
|
+
* Rakefile: added ParseTree requirement,
|
49
|
+
fixed test without og test-cases.
|
50
|
+
|
51
|
+
* RELEASES: updated.
|
52
|
+
|
53
|
+
* doc/og_tutorial.tx: more fixes.
|
54
|
+
|
55
|
+
27-02-2005 Matt Bowen <matt.bowen@farweststeel.com>
|
56
|
+
|
57
|
+
* doc/og_tutorial.txt: many, many fixes to this text.
|
58
|
+
|
59
|
+
26-02-2005 George Moschovitis <gm@navel.gr>
|
60
|
+
|
61
|
+
* lib/glue/*: cleaned up various files.
|
62
|
+
|
63
|
+
* doc/og_tutorial.txt: small fixes [marioh].
|
64
|
+
|
65
|
+
* test/tc_og.rb: a bit more flexible, fixes.
|
66
|
+
|
67
|
+
* lib/og/adapters/oracle.rb: small fixes to the adapter.
|
68
|
+
|
69
|
+
26-02-2005 Matt Bowen <matt.bowen@farweststeel.com>
|
70
|
+
|
71
|
+
* lib/og/meta.rb (#many_to_many): don't use AS in join queries
|
72
|
+
to make more compatible with Oracle.
|
73
|
+
|
74
|
+
* lib/og/adapters/oracle.rb: many fixes to the adapter.
|
75
|
+
|
76
|
+
25-02-2005 George Moschovitis <gm@navel.gr>
|
77
|
+
|
78
|
+
* vendor/: added ParseTree files,
|
79
|
+
copied latest breakpointer files.
|
80
|
+
|
81
|
+
* lib/nitro/render.rb: some guarding code for ParseTree, argh.
|
82
|
+
|
83
|
+
* lib/nitro/runner.rb: clearly show where the application is
|
84
|
+
listening.
|
85
|
+
|
86
|
+
* lib/nitro/conf.rb: use 0.0.0.0 by default to make the app accessible both
|
87
|
+
localy and remotely,
|
88
|
+
use 9999 as default port, easier to remember.
|
89
|
+
|
90
|
+
* doc/og_config.txt: wrote first version.
|
91
|
+
|
92
|
+
* doc/og_tutorial.txt: wrote first version.
|
93
|
+
|
94
|
+
24-02-2005 George Moschovitis <gm@navel.gr>
|
95
|
+
|
96
|
+
* test/tc_og.rb: added extra checks.
|
97
|
+
|
98
|
+
* lib/og/adapter.rb (#create_fields): set default value,
|
99
|
+
(#parse_timestamp): handle nil strings.
|
100
|
+
|
101
|
+
* lib/og/adapters/*: better default values (NULL) [mneumann]
|
102
|
+
|
103
|
+
* lib/og/adapters/mysql.rb: fixed props_for_insert.
|
104
|
+
|
105
|
+
* lib/og/adapters/oracle.rb: worked on this.
|
106
|
+
removed write_prop/read_prop.
|
107
|
+
|
108
|
+
* lib/nitro/render.rb (#o): convienience method.
|
109
|
+
|
110
|
+
* lib/nitro/builders/*: render -> build,
|
111
|
+
recoded abstract builders.
|
112
|
+
|
113
|
+
* lib/nitro/builders/form: introduced mixin.
|
114
|
+
|
115
|
+
* lib/nitro/context.rb: use the output buffer.
|
116
|
+
|
117
|
+
* lib/nitro/output.rb (OutputBuffer): introduced.
|
118
|
+
|
119
|
+
* lib/nitro/builders/rss: introduced mixin.
|
120
|
+
|
121
|
+
* lib/og/meta.rb (Relation): added foreign_class alias.
|
122
|
+
|
123
|
+
* doc/*: cleaned up.
|
124
|
+
|
125
|
+
* doc/configuration_params.txt: introduced.
|
126
|
+
|
127
|
+
* RELEASES: updated.
|
128
|
+
|
129
|
+
* README: updated.
|
130
|
+
|
131
|
+
23-02-2005 George Moschovitis <gm@navel.gr>
|
132
|
+
|
133
|
+
* test/og/tc_meta.rb: implemented.
|
134
|
+
|
135
|
+
* lib/og/enchant.rb (#properties_and_relations): added.
|
136
|
+
|
137
|
+
* lib/og/typemacros.rb: introduced, copied code from meta.
|
138
|
+
|
139
|
+
* lib/og/meta.rb: added more metainfo in relations to facilitate
|
140
|
+
even more advanced scaffoliding [mneumann],
|
141
|
+
encapsulated type macros in Og namespace [mneumann],
|
142
|
+
define Relation classes as extension to properties [mneumann],
|
143
|
+
use meta[:descendants] to store cascading delete metadata.
|
144
|
+
|
145
|
+
* lib/glue/property.rb: added property alias for prop_accessor. [mneumann],
|
146
|
+
added more comments.
|
147
|
+
(#meta): *val packs arguments in array.
|
148
|
+
also keep properties in meta[:properties_and_relations]
|
149
|
+
|
150
|
+
* lib/og.rb: added 'create_schema' configuration variable, when
|
151
|
+
set to false, the applications start much faster.
|
152
|
+
|
153
|
+
22-02-2005 George Moschovitis <gm@navel.gr>
|
154
|
+
|
155
|
+
* yeah, fastcgi works better on lhttpd and apache.
|
156
|
+
|
157
|
+
* lib/nitro/request.rb (#referer): fixed NASTY bug in non-webrick mode.
|
158
|
+
|
159
|
+
* lib/nitro/adapters/cgi.rb (#response_headers): added Date to headers,
|
160
|
+
after some changes, I got apache to kinda work,
|
161
|
+
proto parameter, fixes apache.
|
162
|
+
|
163
|
+
* lib/nitro/dispatcher.rb: correct handling of default api.
|
164
|
+
|
165
|
+
* lib/nitro/context.rb (#initialize): init status.
|
166
|
+
|
167
|
+
* test/nitro/builders/tc_table.rb: introduced.
|
168
|
+
|
169
|
+
* lib/og/adapters/odbc.rb: introduced.
|
170
|
+
|
171
|
+
* lib/nitro/builders/table.rb (TableBuilderMixin): introduced,
|
172
|
+
(TableBuilder): implemented.
|
173
|
+
(#render_table): implemented simple version.
|
174
|
+
|
175
|
+
* example/wee_style/run.rb: use components.
|
176
|
+
|
177
|
+
21-02-2005 George Moschovitis <gm@navel.gr>
|
178
|
+
|
179
|
+
* lib/og/adapter.rb (#table): use og prefix to be compatible with oracle [mbowen],
|
180
|
+
(#join_table): use og prefix instead of '_' [mbowen].
|
181
|
+
|
182
|
+
* lib/glue/property.rb (#meta): fix, should call enchant(self).
|
183
|
+
|
184
|
+
* test/tc_og.rb: added more tests to check new feature and
|
185
|
+
fixes,
|
186
|
+
added test for many_to_many relations.
|
187
|
+
|
188
|
+
* lib/og/meta.rb: removed uneeded extra parameter from
|
189
|
+
some meta_methods.
|
190
|
+
(#many_to_many): allow yield block in add_xxx,
|
191
|
+
save target_objects!,
|
192
|
+
|
193
|
+
* lib/og/adapters/oracle.rb: cleanup.
|
194
|
+
|
195
|
+
21-02-2005 Michael Neumann <mneumann@ntecs.de>
|
196
|
+
|
197
|
+
* lib/og/meta.rb: (#has_many): allow yield block in add_xxx,
|
198
|
+
added some standard typemacros.
|
199
|
+
|
200
|
+
20-02-2005 Matt Bowen <matt.bowen@farweststeel.com>
|
201
|
+
|
202
|
+
* lib/og/adapters/oracle.rb: introduced, and initial implementation.
|
203
|
+
|
204
|
+
20-02-2005 George Moschovitis <gm@navel.gr>
|
205
|
+
|
206
|
+
* examples/blog/conf/apache.rb: implemented, mostly works!
|
207
|
+
|
208
|
+
* experimented with method injection, it can be done!!
|
209
|
+
|
210
|
+
* lib/nitro/render.rb: added ParseTree/SexpProcessor,
|
211
|
+
(#compile_action): handle action with parameters and
|
212
|
+
automatically lookup request parameters.
|
213
|
+
(#compile_action): added sync to be more thread safe.
|
214
|
+
|
215
|
+
* experimented with ParseTree, this lib is ultracool.
|
216
|
+
|
217
|
+
19-02-2005 George Moschovitis <gm@navel.gr>
|
218
|
+
|
219
|
+
* lib/nitro/runner.rb: no duplicate lhttpd,
|
220
|
+
added apache option,
|
221
|
+
fixed parameter passing to apachectl.
|
222
|
+
|
223
|
+
* lib/og/*: converted Og to a Module to be includeable.
|
224
|
+
|
225
|
+
* Rakefile: put RDoc files in doc/rdoc.
|
226
|
+
|
227
|
+
* doc/*: moved some files from root dir here.
|
228
|
+
|
229
|
+
* lib/og/adapters/*: small changes.
|
230
|
+
|
231
|
+
* lib/og/adapters/filesys.rb: introduced,
|
232
|
+
(#db_dir): added.
|
233
|
+
create class 'tables' and sequence.
|
234
|
+
(#load/#save): temp hacks, but this works!!
|
235
|
+
This kinda works :)
|
236
|
+
|
237
|
+
18-02-2005 George Moschovitis <gm@navel.gr>
|
238
|
+
|
239
|
+
* doc/apache.txt: introduced.
|
240
|
+
|
241
|
+
* doc/tutorial.txt: started working on this.
|
242
|
+
|
243
|
+
* lib/nitro/session/drb.rb: yeah, distributed session
|
244
|
+
works correctly.
|
245
|
+
|
246
|
+
* lib/nitro/context.rb: removed sessions attribute,
|
247
|
+
(#close): implemented.
|
248
|
+
|
249
|
+
* lib/nitro/session.rb: added ctime, mtime, atime and
|
250
|
+
aliases,
|
251
|
+
(#touch!): introduced.
|
252
|
+
collection -> store.
|
253
|
+
|
254
|
+
* lib/nitro/session/drbserver.rb: added debug mode.
|
255
|
+
|
256
|
+
17-02-2005 George Moschovitis <gm@navel.gr>
|
257
|
+
|
258
|
+
* lib/nitro/session/memory.rb: implemented.
|
259
|
+
|
260
|
+
* YEAH, i got drb sessions working again.
|
261
|
+
|
262
|
+
* lib/nitro/session/drb.rb: implemented.
|
263
|
+
|
264
|
+
* lib/nitro/session.rb: added store configuration parameter,
|
265
|
+
FIX: use SafeHash for session collections.
|
266
|
+
|
267
|
+
* lib/nitro/session/drbserver.rb: implemented,
|
268
|
+
added command line parameters.
|
269
|
+
|
270
|
+
* lib/glue/hash.rb: cleaned up.
|
271
|
+
|
272
|
+
* lib/nitro/component.rb: introduced.
|
273
|
+
|
274
|
+
16-02-2005 George Moschovitis <gm@navel.gr>
|
275
|
+
|
276
|
+
* lib/nitro/render.rb: SECURITY FIX: only render action_methods.
|
277
|
+
|
278
|
+
* test/nitro/tc_controller.rb: fixes, more tests.
|
279
|
+
|
280
|
+
* lib/nitro/controller.rb (#action_methods): introduced.
|
281
|
+
|
1
282
|
15-02-2005 George Moschovitis <gm@navel.gr>
|
2
283
|
|
284
|
+
* --- VERSION 0.10.0 ---
|
285
|
+
|
3
286
|
* INSTALL: added some text for manual installation.
|
4
287
|
|
5
288
|
* examples/no_xsl_blog/*: misc fixes.
|
@@ -127,7 +410,7 @@
|
|
127
410
|
|
128
411
|
* test/tc_og.rb: added test for override db.
|
129
412
|
|
130
|
-
* lib/og/adapters/*:
|
413
|
+
* lib/og/adapters/*: don't use entity,
|
131
414
|
(#calc_field_index): ensure res.close in
|
132
415
|
(#create_table): use conn.store to avoid catching the errors.
|
133
416
|
|
@@ -234,7 +517,7 @@
|
|
234
517
|
|
235
518
|
* cleaned up docs in many files.
|
236
519
|
|
237
|
-
* test/tc_og.rb:
|
520
|
+
* test/tc_og.rb: don't use global ($og),
|
238
521
|
run tests for all backends.
|
239
522
|
|
240
523
|
* lib/og/*: small cleanups.
|
@@ -487,7 +770,7 @@
|
|
487
770
|
(#redirect): fixed.
|
488
771
|
(#render): raise when no controller found.
|
489
772
|
(#render): fixed template extension selection,
|
490
|
-
(#compile_action):
|
773
|
+
(#compile_action): don't set content_type.
|
491
774
|
|
492
775
|
* lib/nitro/controller.rb: include Scaffolding, Filtering.
|
493
776
|
|
@@ -664,7 +947,7 @@
|
|
664
947
|
|
665
948
|
* lib/nitro/filters: introduced.
|
666
949
|
|
667
|
-
* lib/nitro/server/dispatcher.rb:
|
950
|
+
* lib/nitro/server/dispatcher.rb: don't use $og.
|
668
951
|
|
669
952
|
* lib/nitro/adaptors/webrick: new implementation.
|
670
953
|
(WebrickAdaptor): introduced.
|
@@ -900,7 +1183,7 @@
|
|
900
1183
|
|
901
1184
|
* lib/og/*: converted to new code.
|
902
1185
|
|
903
|
-
* lib/og/meta.rb:
|
1186
|
+
* lib/og/meta.rb: don't use $og. [mneumann]
|
904
1187
|
|
905
1188
|
* lib/og.rb: made Og a class,
|
906
1189
|
removed $og_xx_xx options, use class methods [mneumann]
|
@@ -933,7 +1216,7 @@
|
|
933
1216
|
|
934
1217
|
* --- VERSION 0.7.0 ---
|
935
1218
|
|
936
|
-
* lib/og/mock.rb: fix,
|
1219
|
+
* lib/og/mock.rb: fix, don't wrap methods.
|
937
1220
|
|
938
1221
|
* Rakefile: fix.
|
939
1222
|
|
@@ -1113,4 +1396,4 @@
|
|
1113
1396
|
|
1114
1397
|
* final preparations for release.
|
1115
1398
|
|
1116
|
-
* ChangeLog: branched.
|
1399
|
+
* ChangeLog: branched from 'doc/ChangeLog.1'.
|
data/README.og
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= Og 0.
|
1
|
+
= Og 0.11.0
|
2
2
|
|
3
3
|
Nitro integrates the Og (ObjectGraph) object-relational mapping
|
4
4
|
library. Og provides transparent serialization of object graphs to a RDBMS
|
@@ -30,7 +30,6 @@ The library provides the following features:
|
|
30
30
|
+ Multiple backend adapters (PostgreSQL, MySQL, SQLite).
|
31
31
|
+ ActiveRecord-style meta language and db aware methods.
|
32
32
|
+ Automatially generates join-tables for many_to_many relations.
|
33
|
-
+ Deserialize to Ruby Objects or ResultSets.
|
34
33
|
+ Deserialize sql join queries to Ruby Objects.
|
35
34
|
+ Serialize arbitrary ruby object graphs through YAML.
|
36
35
|
+ Connection pooling.
|
@@ -105,8 +104,8 @@ mailto:gm@navel.gr.
|
|
105
104
|
Copyright (c) 2004-2005, George 'tml' Moschovitis.
|
106
105
|
Copyright (c) 2004-2005, Navel Ltd (http://www.navel.gr)
|
107
106
|
|
108
|
-
Og (http://www.
|
109
|
-
created and maintained by George Moschovitis (mailto:gm@navel.gr)
|
107
|
+
Og (http://www.rubyforge.com/projects/nitro) is copyrighted free
|
108
|
+
software created and maintained by George Moschovitis (mailto:gm@navel.gr)
|
110
109
|
and released under the standard BSD Licence. For details consult
|
111
110
|
the file LICENCE.
|
112
111
|
|
data/RELEASES.og
CHANGED
@@ -1,3 +1,51 @@
|
|
1
|
+
== Version 0.11.0 was released on 28/02/2005.
|
2
|
+
|
3
|
+
The platform continues to evolve and now supports the
|
4
|
+
the Oracle database out of the box. This version features
|
5
|
+
improved documentation, important bug fixes and many subtle
|
6
|
+
improvements to make programming even more enjoyable. Many
|
7
|
+
thanks to Matt Bowen for his help with this release.
|
8
|
+
|
9
|
+
Most notable additions:
|
10
|
+
|
11
|
+
* Documentation (doc/og_tutorial.txt, doc/og_config.txt)
|
12
|
+
|
13
|
+
* Og Oracle adapter.
|
14
|
+
|
15
|
+
* Og provides advanced metadata for the managed objects
|
16
|
+
|
17
|
+
class Article
|
18
|
+
property :title, String
|
19
|
+
property :body, String
|
20
|
+
has_many :comments, Comment
|
21
|
+
end
|
22
|
+
|
23
|
+
par = Article.properties_and_relations
|
24
|
+
=> [Property(:title), Property(:body), Og::HasMany(:comments)]
|
25
|
+
|
26
|
+
par[2].klass
|
27
|
+
=> Comment
|
28
|
+
|
29
|
+
par[2].meta[:linkback]
|
30
|
+
=> :article_oid
|
31
|
+
|
32
|
+
* Og Typemacros, here is an example:
|
33
|
+
|
34
|
+
def VarChar(size)
|
35
|
+
return String, :sql => "NOT NULL VARCHAR(#{size})"
|
36
|
+
end
|
37
|
+
|
38
|
+
property :title, VarChar(30)
|
39
|
+
|
40
|
+
* Option for faster startup, skip schema check.
|
41
|
+
|
42
|
+
* Many small Og improvements and fixes.
|
43
|
+
|
44
|
+
WARNING: If you used an earlier version of Og you
|
45
|
+
may need to drop your database and let Og recreated it
|
46
|
+
automatically.
|
47
|
+
|
48
|
+
|
1
49
|
== Version 0.10.0 was released on 15/02/2005.
|
2
50
|
|
3
51
|
An important release.
|
@@ -89,6 +137,7 @@ Most notable additions:
|
|
89
137
|
* new automatically generated methods in Og.
|
90
138
|
* MockDatabase leverages the FlexMock object for easier unit testing.
|
91
139
|
|
140
|
+
|
92
141
|
== Version 0.6 was released on 13/12/2004.
|
93
142
|
|
94
143
|
This is a preview release, the api for the new features is not
|
@@ -100,6 +149,7 @@ Most notable additions:
|
|
100
149
|
* Og many_to_many relations with auto generation of the join table.
|
101
150
|
* Og has_one relation.
|
102
151
|
|
152
|
+
|
103
153
|
== Version 0.5.0 was released on 21/11/2004.
|
104
154
|
|
105
155
|
New standalone version. SQL indices can be defined again.
|