og 0.10.0 → 0.11.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.
- 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.
|