og 0.20.0 → 0.21.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/CHANGELOG +796 -664
- data/INSTALL +24 -24
- data/README +39 -32
- data/Rakefile +41 -42
- data/benchmark/bench.rb +36 -36
- data/doc/AUTHORS +15 -12
- data/doc/LICENSE +3 -3
- data/doc/RELEASES +311 -243
- data/doc/config.txt +1 -1
- data/examples/mysql_to_psql.rb +15 -15
- data/examples/run.rb +92 -92
- data/install.rb +7 -17
- data/lib/og.rb +76 -75
- data/lib/og/collection.rb +203 -160
- data/lib/og/entity.rb +168 -169
- data/lib/og/errors.rb +5 -5
- data/lib/og/manager.rb +179 -178
- data/lib/og/mixin/hierarchical.rb +107 -107
- data/lib/og/mixin/optimistic_locking.rb +36 -36
- data/lib/og/mixin/orderable.rb +148 -148
- data/lib/og/mixin/timestamped.rb +8 -8
- data/lib/og/mixin/tree.rb +124 -124
- data/lib/og/relation.rb +237 -213
- data/lib/og/relation/belongs_to.rb +5 -5
- data/lib/og/relation/has_many.rb +60 -58
- data/lib/og/relation/joins_many.rb +93 -47
- data/lib/og/relation/refers_to.rb +25 -21
- data/lib/og/store.rb +210 -207
- data/lib/og/store/filesys.rb +79 -79
- data/lib/og/store/kirby.rb +263 -258
- data/lib/og/store/memory.rb +261 -261
- data/lib/og/store/mysql.rb +288 -284
- data/lib/og/store/psql.rb +261 -244
- data/lib/og/store/sql.rb +873 -720
- data/lib/og/store/sqlite.rb +177 -175
- data/lib/og/store/sqlserver.rb +204 -214
- data/lib/og/types.rb +1 -1
- data/lib/og/validation.rb +57 -57
- data/lib/vendor/mysql.rb +376 -376
- data/lib/vendor/mysql411.rb +10 -10
- data/test/og/mixin/tc_hierarchical.rb +59 -59
- data/test/og/mixin/tc_optimistic_locking.rb +40 -40
- data/test/og/mixin/tc_orderable.rb +67 -67
- data/test/og/mixin/tc_timestamped.rb +19 -19
- data/test/og/store/tc_filesys.rb +46 -46
- data/test/og/tc_inheritance.rb +81 -81
- data/test/og/tc_join.rb +67 -0
- data/test/og/tc_polymorphic.rb +49 -49
- data/test/og/tc_relation.rb +57 -30
- data/test/og/tc_select.rb +49 -0
- data/test/og/tc_store.rb +345 -337
- data/test/og/tc_types.rb +11 -11
- metadata +11 -18
data/CHANGELOG
CHANGED
@@ -1,1038 +1,1170 @@
|
|
1
|
+
24-07-2005 George Moschovitis <gm@navel.gr>
|
2
|
+
|
3
|
+
* lib/og/relation/joins_many.rb: fixed the same bugs.
|
4
|
+
|
5
|
+
* lib/og/relation/has_many.rb: fixed find_options override
|
6
|
+
bug [guillaunne],
|
7
|
+
keep find_options in multiple calls.
|
8
|
+
|
9
|
+
* Rakefile: updated,
|
10
|
+
fixed gem RDOC generation problem [Markus].
|
11
|
+
|
12
|
+
22-07-2005 George Moschovitis <gm@navel.gr>
|
13
|
+
|
14
|
+
* doc/RELEASES: updated.
|
15
|
+
|
16
|
+
* converted all code to use spaces instead of tab.
|
17
|
+
|
18
|
+
* lib/og/relation/refers_to: changes in Aleksi's patch.
|
19
|
+
|
20
|
+
22-07-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
|
21
|
+
|
22
|
+
* lib/og/relation/refers_to: a small patch.
|
23
|
+
|
24
|
+
21-07-2005 George Moschovitis <gm@navel.gr>
|
25
|
+
|
26
|
+
* lib/og/relation/joins_many.rb: honour the :through option
|
27
|
+
to allow for customized join tables,
|
28
|
+
yeah, I got the intermediate table used,
|
29
|
+
pass field values for the custom join table!
|
30
|
+
(xxx_join): auto generate join metadata method!
|
31
|
+
|
32
|
+
* lib/og/relation.rb (#resolve_symbol): implemented,
|
33
|
+
(#resolve_target): use resolve_symbol.
|
34
|
+
|
35
|
+
* lib/og/store/sql.rb (eval_og_create_schema): added to allow
|
36
|
+
for interception [ysabel],
|
37
|
+
(#join): accepts fields for custom join tables!
|
38
|
+
|
39
|
+
20-07-2005 George Moschovitis <gm@navel.gr>
|
40
|
+
|
41
|
+
* test/og/tc_join.rb: introduced.
|
42
|
+
|
43
|
+
* lib/og/store/mysql.rb: use custom join create index.
|
44
|
+
|
45
|
+
* lib/og/store/sql.rb (#tableize): implemented,
|
46
|
+
(#resolve_limit_options): improved,
|
47
|
+
after *a lot* of changes the patch works :)
|
48
|
+
(#create_join_table_sql): returns an array.
|
49
|
+
|
50
|
+
* manualy applied and improved ysabel's patch.
|
51
|
+
|
52
|
+
20-07-2005 Ysabel <gm@navel.gr>
|
53
|
+
|
54
|
+
* lib/og/store/sql.rb (#join_object_ordering): implemented,
|
55
|
+
(#join_class_ordering): implemented,
|
56
|
+
(#join_*): added many helper methods,
|
57
|
+
(#build_join*): added many helpers,
|
58
|
+
(#create_join*): added helpers,
|
59
|
+
(#resolve_limit_options): added.
|
60
|
+
|
61
|
+
* lib/og/mysql.rb: refactored.
|
62
|
+
|
63
|
+
* lib/og/store/kirby.rb: refactored.
|
64
|
+
|
65
|
+
* lib/og/relation/joins_many.rb: refactored, cleaned up.
|
66
|
+
|
67
|
+
19-07-2005 George Moschovitis <gm@navel.gr>
|
68
|
+
|
69
|
+
* lib/og/store/mysql.rb (Result#fields): added.
|
70
|
+
|
71
|
+
* lib/og/store/psql.rb (#read_row): added.
|
72
|
+
|
73
|
+
* lib/og/store/sqlite.rb (ResultSet#fields): added.
|
74
|
+
|
75
|
+
* lib/og/store/sql.rb (#read_all): reimplemented to get options
|
76
|
+
and use read_row,
|
77
|
+
(#resolve_options): handles :select,
|
78
|
+
(#read_all): reimplemented.
|
79
|
+
(#read_all): implemented.
|
80
|
+
|
81
|
+
* test/og/tc_query.rb: implemented.
|
82
|
+
|
83
|
+
19-07-2005 Michael Neumann <mneumann@ntecs.de>
|
84
|
+
|
85
|
+
* install.rb: fixes.
|
86
|
+
|
87
|
+
18-07-2005 Michael Neumann <mneumann@ntecs.de>
|
88
|
+
|
89
|
+
* lib/og/collection.rb (#delete_if): implemented.
|
90
|
+
|
91
|
+
* lib/og/relation/refers_to.rb: nil fix.
|
92
|
+
|
93
|
+
* lib/og/store/psql.rb (#start): use BEGIN TRANSACTION, more
|
94
|
+
compatible with older versions.
|
95
|
+
|
96
|
+
17-07-2005 George Moschovitis <gm@navel.gr>
|
97
|
+
|
98
|
+
* lib/og/manager.rb (Og##options=): added.
|
99
|
+
|
100
|
+
16-07-2005 George Moschovitis <gm@navel.gr>
|
101
|
+
|
102
|
+
* lib/og/relation/joins_many.rb: pass options in collection,
|
103
|
+
implemented count_proc [SOS: placeholder!!]
|
104
|
+
|
105
|
+
* lib/og/store/sql.rb: find_by_sql_one alias.
|
106
|
+
|
107
|
+
* lib/og/relation/has_many.rb: implemented count_proc.
|
108
|
+
|
109
|
+
* lib/og/collection.rb (#size): implemented [mneumann],
|
110
|
+
(#count): size alias,
|
111
|
+
(#unload): implemented.
|
112
|
+
|
113
|
+
13-07-2005 Michael Neumann <mneumann@ntecs.de>
|
114
|
+
|
115
|
+
* lib/og/store/sql.rb (#aggregate): implemented,
|
116
|
+
(#count): #aggregate alias.
|
117
|
+
|
118
|
+
13-07-2005 bizilan <bizilan@laposte.net>
|
119
|
+
|
120
|
+
* lib/og/store/sql.rb (#resolve_options): change the order of
|
121
|
+
offset/limit to be more compatible with sqlite.
|
122
|
+
|
123
|
+
13-07-2005 George Moschovitis <gm@navel.gr>
|
124
|
+
|
125
|
+
* lib/og/store/psql.rb (#initialize): Og::Blob mapping [menumann].
|
126
|
+
|
127
|
+
* lib/og/relation/has_many.rb: check for nil [menumann].
|
128
|
+
|
129
|
+
* lib/og/relation/refers_to.rb: check for nil [menumann].
|
130
|
+
|
1
131
|
11-07-2005 George Moschovitis <gm@navel.gr>
|
2
132
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
133
|
+
* --- VERSION 0.20.0 ---
|
134
|
+
|
135
|
+
* doc/RELEASES: updated.
|
136
|
+
|
137
|
+
* lib/og/store/sql.rb: escape all condition interpolations [miika].
|
138
|
+
|
139
|
+
* vendor/kirbybase.rb: copied here, cleaned up store dir.
|
140
|
+
|
141
|
+
* lib/og/store/mysql.rb: check if reconnect exists,
|
142
|
+
verified that the fallback adapter works.
|
143
|
+
|
12
144
|
11-07-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
|
13
145
|
|
14
|
-
|
146
|
+
* lib/og/mixin/hierarchical.rb (#parent): added.
|
15
147
|
|
16
148
|
07-07-2005 George Moschovitis <gm@navel.gr>
|
17
149
|
|
18
|
-
|
150
|
+
* lib/vendor/mysql.rb: added as a fallback [james_b].
|
19
151
|
|
20
152
|
05-07-2005 George Moschovitis <gm@navel.gr>
|
21
153
|
|
22
|
-
|
23
|
-
|
24
|
-
|
154
|
+
* lib/og/entity.rb (##find): fixed NASTY bug!
|
155
|
+
|
156
|
+
* lib/og/store.rb: introduced :uniq keyword.
|
25
157
|
|
26
158
|
03-07-2005 George Moschovitis <gm@navel.gr>
|
27
159
|
|
28
|
-
|
29
|
-
|
30
|
-
|
160
|
+
* lib/og/store/sql.rb (#find_one): should not limit by default.
|
161
|
+
|
162
|
+
* added more comments to various classes.
|
31
163
|
|
32
164
|
01-07-2005 George Moschovitis <gm@navel.gr>
|
33
165
|
|
34
|
-
|
166
|
+
* lib/og/store/sql.rb (#join_table): fix for self join case [petr].
|
35
167
|
|
36
168
|
30-06-2005 George Moschovitis <gm@navel.gr>
|
37
169
|
|
38
|
-
|
39
|
-
|
170
|
+
* lib/og/relations/has_many.rb (#resolve_polymorphic): made
|
171
|
+
more fault tolerant.
|
40
172
|
|
41
173
|
24-06-2005 George Moschovitis <gm@navel.gr>
|
42
174
|
|
43
|
-
|
175
|
+
* lib/og.rb: added various settings.
|
44
176
|
|
45
|
-
|
177
|
+
* doc/AUTHORS: updated.
|
46
178
|
|
47
179
|
21-06-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
|
48
180
|
|
49
|
-
|
50
|
-
|
51
|
-
|
181
|
+
* lib/og/relation.rb (#resolve_target): fixed infinite loop
|
182
|
+
bug.
|
183
|
+
|
52
184
|
20-06-2005 George Moschovitis <gm@navel.gr>
|
53
185
|
|
54
|
-
|
55
|
-
|
56
|
-
|
186
|
+
* README: facet/redcloth pointers [bcandler]
|
187
|
+
|
188
|
+
* INSTALL: facet/redcloth pointers [bcandler]
|
57
189
|
|
58
190
|
18-06-2005 George Moschovitis <gm@navel.gr>
|
59
|
-
|
60
|
-
|
191
|
+
|
192
|
+
* lib/og/store/sql.rb (#find_by_sql): alias for select.
|
61
193
|
|
62
194
|
17-06-2005 George Moschovitis <gm@navel.gr>
|
63
195
|
|
64
|
-
|
196
|
+
* --- VERSION 0.19.0 ---
|
65
197
|
|
66
|
-
|
67
|
-
|
68
|
-
|
198
|
+
* examples/run.rb: fixes to make it run again.
|
199
|
+
|
200
|
+
* README: updated.
|
69
201
|
|
70
202
|
15-06-2005 George Moschovitis <gm@navel.gr>
|
71
203
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
204
|
+
* lib/og/store/psql.rb: minor changes while applying michael's
|
205
|
+
patch.
|
206
|
+
|
207
|
+
* yeah, the new code passes tc_store.rb
|
208
|
+
|
209
|
+
* lib/og/sql.rb: don't create tables for polymorphic parents.
|
78
210
|
|
79
|
-
|
211
|
+
* lib/og/entity.rb (#polymorphic_parent?): implemented
|
80
212
|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
213
|
+
* lib/og/relation/has_many.rb: (#initialize): imply belongs_to
|
214
|
+
relation if missing!,
|
215
|
+
(#resolve): gets symbol for resolve method.
|
216
|
+
|
217
|
+
* lib/og/relation.rb: fixes for polymorphic relations,
|
218
|
+
(#initialize): fix for non polymorphic.
|
87
219
|
|
88
220
|
15-06-2005 Michael Neumann <mneumann@ntecs.de>
|
89
221
|
|
90
|
-
|
222
|
+
* lib/og.rb (Blob): introduced.
|
91
223
|
|
92
224
|
14-06-2005 George Moschovitis <gm@navel.gr>
|
93
225
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
226
|
+
* lib/og/relation.rb: added support for polymorphic relations,
|
227
|
+
(#polymorphic?): added.
|
228
|
+
|
229
|
+
* back from vacations, lets rock!
|
98
230
|
|
99
231
|
09-06-2005 George Moschovitis <gm@navel.gr>
|
100
232
|
|
101
|
-
|
233
|
+
* test/og/tc_polymorphic.rb: introduced.
|
102
234
|
|
103
235
|
08-06-2005 George Moschovitis <gm@navel.gr>
|
104
236
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
237
|
+
* doc/AUTHORS: updated.
|
238
|
+
|
239
|
+
* lib/og/store/mysql.rb: added :table_type options so you can
|
240
|
+
use InnoDB tables.
|
109
241
|
|
110
242
|
07-06-2005 George Moschovitis <gm@navel.gr>
|
111
243
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
244
|
+
* lib/og/manager.rb (#manage): call specialized enchanting
|
245
|
+
code.
|
246
|
+
|
247
|
+
* lib/og/mixin/optimistic_locking.rb: after some fixes it kinda
|
248
|
+
works,
|
249
|
+
correclty overloads #update.
|
250
|
+
overload #save.
|
119
251
|
|
120
252
|
06-06-2005 George Moschovitis <gm@navel.gr>
|
121
253
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
254
|
+
* lib/og/store/*: implemented sql_update for psql, mysql, sqlite3.
|
255
|
+
|
256
|
+
* lib/og/mixin/optimistic_locking.rb: introduced,
|
257
|
+
(#update_with_lock): implemented.
|
258
|
+
|
259
|
+
* test/og/tc_store.rb: added extra tests for extra functionality,
|
260
|
+
updated ...update tests.
|
261
|
+
|
262
|
+
* lib/og/entity.rb (#select/#select_one): added,
|
263
|
+
added exist? alias.
|
264
|
+
|
265
|
+
* lib/og/store/sql.rb: (#read_one): use ensure res.close [ghislain]
|
266
|
+
(#read_all): ditto,
|
267
|
+
(#select): implemented,
|
268
|
+
(#select_one): implemented.
|
269
|
+
Auto add SELECT * FROM table if missing for extra convienience,
|
270
|
+
(#find): handle :sql option.
|
271
|
+
added exist? alias,
|
272
|
+
(#sql_update): introduced.
|
273
|
+
(#update, #update_properties): use sql_update.
|
274
|
+
(#update_condition): implemented.
|
275
|
+
use update_condition to simplify the code.
|
276
|
+
(#update): new more flexible interface.
|
145
277
|
|
146
278
|
05-06-2005 George Moschovitis <gm@navel.gr>
|
147
279
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
280
|
+
* lib/og/store/*: adapted og insert in all stores.
|
281
|
+
|
282
|
+
* COOL: SuperClass.all returns an array of subclasses,
|
283
|
+
correctly typed.
|
284
|
+
|
285
|
+
* lib/og/store/sql.rb: added more comments, cleaned up,
|
286
|
+
sanitized usage of res, row and res_row,
|
287
|
+
(#og_allocate): implemented.
|
156
288
|
|
157
289
|
04-06-2005 George Moschovitis <gm@navel.gr>
|
158
290
|
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
291
|
+
* lib/og/entity.rb (#all): correctly passes :type find option
|
292
|
+
for STI classes.
|
293
|
+
|
294
|
+
* lib/og/store/mysql.rb (#eval_og_insert): handle STI.
|
295
|
+
|
296
|
+
* lib/og/store/sql.rb (#fields_for_class): calculates extra
|
297
|
+
fields for STI tables,
|
298
|
+
(#find): added support for type in finders.
|
299
|
+
|
300
|
+
* doc/AUTHORS: updated.
|
301
|
+
|
302
|
+
* lib/og/entity.rb (#schema_inheritance): added.
|
303
|
+
|
304
|
+
* lib/og/manager.rb (#manageable?): introduced,
|
305
|
+
(#manage): keep inheritance metadata,
|
306
|
+
first resolve inheritance.
|
175
307
|
|
176
308
|
03-06-2005 George Moschovitis <gm@navel.gr>
|
177
309
|
|
178
|
-
|
310
|
+
* test/og/tc_inheritance.rb: introduced.
|
179
311
|
|
180
312
|
02-06-2005 Ghislain Mary <gmary@lunacymaze.org>
|
181
313
|
|
182
|
-
|
183
|
-
|
314
|
+
* lib/og/store/sqlite.rb: fixed typo.
|
315
|
+
(#og_insert): fixet last_insert_rowid calculation.
|
184
316
|
|
185
317
|
29-05-2005 George Moschovitis <gm@navel.gr>
|
186
318
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
319
|
+
* --- VERSION 0.18.0 ---
|
320
|
+
|
321
|
+
* lib/og/relation/has_many.rb: takes :order into account.
|
322
|
+
|
323
|
+
* lib/og/entity.rb (#find/#all): take find_options into account,
|
324
|
+
(#find_options): implemented.
|
325
|
+
(#order): implemented.
|
194
326
|
|
195
327
|
24-05-2005 George Moschovitis <gm@navel.gr>
|
196
328
|
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
329
|
+
* lib/og/store/kirby.rb (#og_insert): implemented,
|
330
|
+
(#destroy): implemented,
|
331
|
+
save files in a custom directory.
|
332
|
+
|
333
|
+
* test/*: some changes to make them pass again.
|
202
334
|
|
203
|
-
|
335
|
+
* lib/og/mixin/orderable.rb: use facet/macro instead of dinclude.
|
204
336
|
|
205
|
-
|
206
|
-
|
337
|
+
* lib/og/mixin/hierarchical.rb: use facet/macro instead of dinclude.
|
338
|
+
|
207
339
|
23-05-2005 George Moschovitis <gm@navel.gr>
|
208
340
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
341
|
+
* lib/og.rb: added thread_safe mode.
|
342
|
+
|
343
|
+
* lib/og/manager.rb: re-added support for threads,
|
344
|
+
use thread code only in thread safe mode.
|
213
345
|
|
214
346
|
20-05-2005 George Moschovitis <gm@navel.gr>
|
215
347
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
348
|
+
* lib/og/store/psql.rb (#initialize) min_messages, encoding,
|
349
|
+
schema_order options.
|
350
|
+
|
351
|
+
* lib/og/store/kirbybase/*: copied files from kirby distribution.
|
352
|
+
|
353
|
+
* lib/og/store/kirby.rb: introduced,
|
354
|
+
(#create_table): works.
|
355
|
+
(#create_column_map): implemented.
|
356
|
+
|
357
|
+
* lib/og/store/*: converted all stores to better handle nil
|
358
|
+
values [mneumann],
|
359
|
+
don't use the term 'column', use 'field' instead to make
|
360
|
+
more SQL agnostic.
|
361
|
+
|
362
|
+
* lib/og/store/sql.rb (#parse_float): added,
|
363
|
+
(#parse_int): added,
|
364
|
+
(#read_prop): handle nil values. [mneumann]
|
365
|
+
|
366
|
+
* lib/og/store/sqlite.rb (#blank?): alias eof? [jperrot]
|
367
|
+
|
368
|
+
--- THE REVENGE OF SITH ---
|
237
369
|
|
238
370
|
19-05-2005 George Moschovitis <gm@navel.gr>
|
239
371
|
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
18-05-2005
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
372
|
+
* resolved a posted bug [mneumann].
|
373
|
+
|
374
|
+
* lib/og/relation/has_many.rb: added 'dummy' remove support.
|
375
|
+
|
376
|
+
* lib/og/collection.rb: improved Julien's patch.
|
377
|
+
|
378
|
+
18-05-2005 Julien Perrot <jperrot@exosec.fr>
|
379
|
+
|
380
|
+
* lib/og/collection.rb (#remove): implemented.
|
381
|
+
|
382
|
+
* lib/og/relation/joins_many.rb (#remove_xxx): implemented.
|
383
|
+
|
384
|
+
* lib/og/store/sql.rb (#unjoin): implemented.
|
385
|
+
|
386
|
+
* lib/og/manager.rb (#==): fixed when other == nil.
|
387
|
+
|
256
388
|
18-05-2005 George Moschovitis <gm@navel.gr>
|
257
389
|
|
258
|
-
|
259
|
-
|
260
|
-
|
390
|
+
* lib/og/store/sqlite.rb (#db_filename): overridable db file name [slewis].
|
391
|
+
|
392
|
+
* README: added warning about sqlite3 version [slewis].
|
261
393
|
|
262
394
|
17-05-2005 George Moschovitis <gm@navel.gr>
|
263
395
|
|
264
|
-
|
396
|
+
* lib/og.rb: keep active manager.
|
265
397
|
|
266
398
|
16-05-2005 George Moschovitis <gm@navel.gr>
|
267
399
|
|
268
|
-
|
400
|
+
* --- VERSION 0.17.0 ---
|
269
401
|
|
270
|
-
|
402
|
+
* doc/RELEASES: updated.
|
271
403
|
|
272
|
-
|
273
|
-
|
404
|
+
* README: updated.
|
405
|
+
|
274
406
|
15-05-2005 George Moschovitis <gm@navel.gr>
|
275
407
|
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
408
|
+
* lib/og/store/sql.rb (#enchant): check for create_schema.
|
409
|
+
|
410
|
+
* lib/og.rb: updated RDoc.
|
411
|
+
|
412
|
+
* doc/RELEASES: updated.
|
413
|
+
|
282
414
|
15-05-2005 George Moschovitis <gm@navel.gr>
|
283
415
|
|
284
|
-
|
285
|
-
|
286
|
-
|
416
|
+
* examples/run.rb: after some changes it runs.
|
417
|
+
|
418
|
+
* lib/og/store.rb (#delete): improved obj_or_pk detection.
|
287
419
|
|
288
420
|
14-05-2005 George Moschovitis <gm@navel.gr>
|
289
421
|
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
422
|
+
* doc/tutorial.txt: added warning.
|
423
|
+
|
424
|
+
* doc/RELEASES: updated.
|
425
|
+
|
426
|
+
* lib/og/store/*: improved error messages.
|
427
|
+
|
428
|
+
* lib/og/store/sqlite.rb (#create_table): create join table,
|
429
|
+
rescue Object to catch the exception.
|
430
|
+
|
431
|
+
* lib/og/store/mysql.rb (#create_table): create join table.
|
432
|
+
|
433
|
+
* lib/og/store/psql.rb (#create_table): create join table.
|
434
|
+
|
435
|
+
* lib/og/relation/many_to_many.rb: alias to joins_many.
|
436
|
+
|
437
|
+
* test/og/tc_store.rb: updated with join tests.
|
438
|
+
|
439
|
+
* lib/og/manager.rb (#manage): add the ogmanager attribute here,
|
440
|
+
relation enchant after store enchant.
|
441
|
+
(#manage_classes): multipass enchanting to be more flexible.
|
442
|
+
|
443
|
+
* lib/og/relation/joins_many: introduced,
|
444
|
+
implemented,
|
445
|
+
yeah it passes the test!
|
446
|
+
|
447
|
+
* lib/og/relation.rb (#joins_many): introduced,
|
316
448
|
|
317
449
|
13-05-2005 George Moschovitis <gm@navel.gr>
|
318
450
|
|
319
|
-
|
451
|
+
* lib/og/mixin/hierarchical.rb: converted to new code.
|
320
452
|
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
453
|
+
* test/og/mixin/hierarchical.rb: converted to new code,
|
454
|
+
mostly works.
|
455
|
+
|
456
|
+
* doc/RELEASES: updated.
|
325
457
|
|
326
458
|
12-05-2005 George Moschovitis <gm@navel.gr>
|
327
459
|
|
328
|
-
|
460
|
+
* lib/og/store/sqlserver.rb (#initialize): small fix.
|
329
461
|
|
330
|
-
|
462
|
+
* test/og/tc_store.rb: refactored to run all tests.
|
331
463
|
|
332
464
|
11-05-2005 George Moschovitis <gm@navel.gr>
|
333
465
|
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
466
|
+
* lib/og/store/memory.rb (MemoryUtils): added to stay compatible
|
467
|
+
with the other backends.
|
468
|
+
|
469
|
+
* lib/og/store/sql.rb (#reload): close the resultset.
|
338
470
|
|
339
|
-
|
471
|
+
* lib/og/entity.rb (#delete): fix.
|
340
472
|
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
473
|
+
* lib/og/store/sqlite.rb: passes tests,
|
474
|
+
added transaction_nesting support.
|
475
|
+
|
476
|
+
* lib/og/store/sqlserver.rb: introduced,
|
477
|
+
reimplemented the minimum set of features needed for a project of mine.
|
346
478
|
|
347
|
-
|
348
|
-
|
479
|
+
* lib/og/store/mysql.rb (#create_table): fixed,
|
480
|
+
no transactions (nop).
|
349
481
|
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
482
|
+
* lib/og/store.rb (#delete): made more flexible,
|
483
|
+
added transaction_nesting support.
|
484
|
+
|
485
|
+
* examples/run.rb: changes to make this pass.
|
486
|
+
|
487
|
+
* lib/og/relation.rb (#resolve_target): handle no-namespace
|
488
|
+
case.
|
489
|
+
|
490
|
+
* test/og/tc_relation.rb: implemented.
|
359
491
|
|
360
492
|
10-05-2005 George Moschovitis <gm@navel.gr>
|
361
493
|
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
494
|
+
* lib/og/collection.rb: totaly recoded to support lazyer synchronization
|
495
|
+
with the data-store,
|
496
|
+
don't extend from array,
|
497
|
+
use method missing to catch more methods.
|
498
|
+
|
499
|
+
* README: added link for pure ruby mysql interface. [jbritt]
|
500
|
+
|
369
501
|
09-05-2005 George Moschovitis <gm@navel.gr>
|
370
502
|
|
371
|
-
|
503
|
+
* lib/og/store/sqlite.rb: kinda works :)
|
372
504
|
|
373
|
-
|
505
|
+
* lib/og/store/psql.rb (#read_all): fixed stupid and nasty bug.
|
374
506
|
|
375
|
-
|
376
|
-
|
507
|
+
* lib/og/relation/has_many.rb: fixed collection update.
|
508
|
+
|
377
509
|
08-05-2005 George Moschovitis <gm@navel.gr>
|
378
510
|
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
511
|
+
* examples/mysql_to_psql.rb: updated!
|
512
|
+
YEAH, it works.
|
513
|
+
|
514
|
+
* lib/og/store.rb: :<< alias for save.
|
515
|
+
|
516
|
+
* examples/*: copied from old og.
|
517
|
+
|
518
|
+
* lib/og/store/psql.rb (#create_table): generate join tables.
|
519
|
+
|
520
|
+
* lib/og/relation/many_to_many.rb (#enchant): implemented,
|
521
|
+
worked a LOT on the join table generation.
|
522
|
+
|
523
|
+
* lib/og/store/sql.rb (#resolve_options): cleaned up,
|
524
|
+
handle join/join_condition options.
|
525
|
+
(#join): introduced.
|
526
|
+
(#join_table..): use key1, key2,
|
527
|
+
require yaml, needed.
|
528
|
+
|
529
|
+
* replaced some OGTABLE's.
|
398
530
|
|
399
531
|
07-05-2005 George Moschovitis <gm@navel.gr>
|
400
532
|
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
533
|
+
* lib/og/store/sql.rb (#read_all): (SqlUtils#table): implemented
|
534
|
+
(SqlUtils#join): nice implementation.
|
535
|
+
(#resolve_options): renamed from resolve_from, handles
|
536
|
+
all options.
|
537
|
+
(#find/#find_one): refactored.
|
538
|
+
|
407
539
|
06-05-2005 George Moschovitis <gm@navel.gr>
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
540
|
+
|
541
|
+
* lib/og/typemacro.rb (##VarChar): fixed.
|
542
|
+
|
543
|
+
* lib/og/store.rb (#enchant): create finders for properties.
|
544
|
+
|
545
|
+
* test/og/store/tc_psql.rb: use reload,
|
546
|
+
test generated finders.
|
547
|
+
|
548
|
+
* lib/og/store/sql.rb (#read_all): small fix to make compatible
|
549
|
+
with mysql,
|
550
|
+
(#reload): generalized and added here,
|
551
|
+
fixed stupid bug.
|
552
|
+
|
553
|
+
* lib/og/store/psql.rb: small updates.
|
554
|
+
|
555
|
+
* lib/og/store/mysql.rb: introduced and started the
|
556
|
+
implementation,
|
557
|
+
(Mysql::Result): adapted,
|
558
|
+
yeah, this store passes the tests.
|
559
|
+
|
428
560
|
05-05-2005 George Moschovitis <gm@navel.gr>
|
429
561
|
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
562
|
+
* lib/og/store/sql.rb (#find_one): parse all options,
|
563
|
+
set limit = 1 if not defined,
|
564
|
+
fixed limit,
|
565
|
+
(#find): parse :extra option,
|
566
|
+
fixed limit.
|
567
|
+
|
568
|
+
* lib/og/mixin/orderable.rb: converted to latest code,
|
569
|
+
no stupid 1 = 1 scope.
|
570
|
+
|
571
|
+
* test/og/mixin/tc_timestamped.rb: implemented.
|
572
|
+
|
573
|
+
* lib/og/store/memory.rb (ObjectHash): use string keys.
|
574
|
+
(#initialize): read from the yaml file.
|
575
|
+
(#close): dump to the yaml file.
|
576
|
+
YEAH, serialization works,
|
577
|
+
(#query): added support for order.
|
578
|
+
|
579
|
+
* lib/og/entity.rb (#update): added support for selective
|
580
|
+
update.
|
581
|
+
|
582
|
+
* lib/og/store/sql.rb (#update): handle case of updating
|
583
|
+
selected properties,
|
584
|
+
(#enable_logging): implemented.
|
453
585
|
|
454
586
|
04-05-2005 George Moschovitis <gm@navel.gr>
|
455
587
|
|
456
|
-
|
588
|
+
* lib/og/store/memory.rb (#update_properties): implemented.
|
457
589
|
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
590
|
+
* :where as :condition alias.
|
591
|
+
|
592
|
+
* lib/og/entity.rb (#enchant): evaluate aliases for the
|
593
|
+
primary key,
|
594
|
+
(#update): added
|
595
|
+
(##update_properties): added.
|
596
|
+
|
597
|
+
* lib/og/store/sql.rb (#update_properties): implemented,
|
598
|
+
use @ in variables.
|
467
599
|
|
468
|
-
|
469
|
-
|
470
|
-
|
600
|
+
* lib/og/store.rb (#update_properties): introduced.
|
601
|
+
|
602
|
+
* converted many files to make compatible with facets 0.7.1
|
471
603
|
|
472
604
|
03-05-2005 George Moschovitis <gm@navel.gr>
|
473
605
|
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
606
|
+
* lib/og/store.rb: factored out code from sql.rb, memory.rb
|
607
|
+
|
608
|
+
* lib/og/mixin/orderable.rb: use aspects for callbacks.
|
609
|
+
|
610
|
+
* test/og/mixin/*: copied tests from old version.
|
611
|
+
|
612
|
+
* lib/og/manager.rb (#manage_classes): improved.
|
613
|
+
|
614
|
+
* lib/og.rb: cleaned up, removed older code.
|
615
|
+
|
616
|
+
* lib/og/relation/belongs_to: set descendants, only here needed.
|
617
|
+
|
618
|
+
* lib/og/relation/*: use RefersTo as the basis relation.
|
619
|
+
|
620
|
+
* lib/og/entity.rb (#count): implemented.
|
621
|
+
(##transaction): implemented,
|
622
|
+
(##delete): implemented.
|
623
|
+
|
624
|
+
* pass the class as an option to many methods.
|
625
|
+
|
626
|
+
* lib/og/store/memory.rb (#count): implemented,
|
627
|
+
improved condition handling in count and query,
|
628
|
+
(#delete): works with descendants,
|
629
|
+
use og_delete.
|
630
|
+
|
631
|
+
* lib/og/store/psql.rb (#first_value): implemented.
|
632
|
+
|
633
|
+
* lib/og/store/sql.rb (#count): implemented,
|
634
|
+
fixed signature of methods,
|
635
|
+
(#og_delete): implemented.
|
636
|
+
(#delete): use og_delete.
|
637
|
+
|
506
638
|
02-05-2005 George Moschovitis <gm@navel.gr>
|
507
639
|
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
640
|
+
* lib/og/store/memory.rb: introduced,
|
641
|
+
(#og_insert): implemtented,
|
642
|
+
(#og_update): implemented,
|
643
|
+
I got insertions working,
|
644
|
+
(#query): implemented!
|
645
|
+
Incredible, the memory store passes all tests.
|
646
|
+
|
515
647
|
01-05-2005 George Moschovitis <gm@navel.gr>
|
516
648
|
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
649
|
+
* lib/og/store/sqlite.rb: implemented the rest of the
|
650
|
+
functionality,
|
651
|
+
(#eval_og_insert): implemented.
|
652
|
+
|
653
|
+
* lib/og/store/psql.rb: override PGresult,
|
654
|
+
(#each_row): implemented.
|
523
655
|
|
524
|
-
|
525
|
-
|
526
|
-
|
656
|
+
* lib/og/store/sql.rb: removed resultset methods,
|
657
|
+
(#read_all): use each_row.
|
658
|
+
(#find_one/all): use new read methods.
|
527
659
|
|
528
660
|
30-04-2005 George Moschovitis <gm@navel.gr>
|
529
661
|
|
530
|
-
|
662
|
+
* lib/og/store/psql.rb: shorter query/select.
|
531
663
|
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
664
|
+
* lib/og/store/sql.rb (SqlUtils): renamed from SqlStoreUtils.
|
665
|
+
(#result_blank?): implemented,
|
666
|
+
(#result_get): implemented,
|
667
|
+
(#result_close): implemented,
|
668
|
+
(#read_one): implemented, also handles join,
|
669
|
+
(#read_join_relations): implemented.
|
538
670
|
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
671
|
+
* lib/og/relation.rb (#resolve_target): supports the no
|
672
|
+
forward declaration trick.
|
673
|
+
|
674
|
+
* lib/og/entity.rb (#const_missing): added trick, no need for
|
675
|
+
forward declarations [mneumann].
|
544
676
|
|
545
677
|
29-04-2005 George Moschovitis <gm@navel.gr>
|
546
678
|
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
679
|
+
* lib/og/store/sqlite.rb (#create_table): implemented,
|
680
|
+
(#create_column_map): implemented.
|
681
|
+
|
682
|
+
* lib/og/relation/many_to_many.rb: introduced.
|
683
|
+
|
684
|
+
* lib/og/relation/refers_to.rb: implemented as extension of
|
685
|
+
has_one.
|
686
|
+
|
687
|
+
* lib/og/relation/belongs_to.rb: reimplemented as extension of
|
688
|
+
has_one.
|
689
|
+
|
690
|
+
* lib/og/relation/has_one.rb: implemented.
|
691
|
+
|
692
|
+
* lib/og/relation.rb (#init_options): handle plural/singular,
|
693
|
+
further cleanup of the relation code,
|
694
|
+
even more cleanup, moved init_options code to the Relation
|
695
|
+
constructor,
|
696
|
+
totaly removed RelationMacros::Utils.
|
565
697
|
|
566
698
|
28-04-2005 George Moschovitis <gm@navel.gr>
|
567
699
|
|
568
|
-
|
700
|
+
* lib/og/relation/has_many.rb: some refactoring.
|
569
701
|
|
570
|
-
|
571
|
-
|
572
|
-
|
702
|
+
* lib/og/relation.rb (Relation::Utils): introduced,
|
703
|
+
(#init_options): implemented.
|
704
|
+
(#method_missing): access the options as methods.
|
573
705
|
|
574
|
-
|
706
|
+
* lib/og/typemacros.rb: copied from old.
|
575
707
|
|
576
|
-
|
708
|
+
* test/og/store/psql.rb (#test_conversions): added.
|
577
709
|
|
578
|
-
|
579
|
-
|
710
|
+
* lib/og/store/sql.rb (SqlStoreUtils): refactored.
|
711
|
+
(#quote): ultraclean implementation.
|
580
712
|
|
581
|
-
|
582
|
-
|
713
|
+
* lib/og/store/psql.rb: no custom transaction methods.
|
714
|
+
|
583
715
|
26-04-2005 George Moschovitis <gm@navel.gr>
|
584
716
|
|
585
|
-
|
717
|
+
* lib/og/store/sql.rb: added some escape/parsing methods.
|
586
718
|
|
587
|
-
|
719
|
+
* lib/og/store/sqlite.rb: introduced.
|
588
720
|
|
589
|
-
|
590
|
-
|
721
|
+
* lib/og/psql.rb (#join_all): implemented.
|
722
|
+
(#reload): implemented.
|
591
723
|
|
592
|
-
|
724
|
+
* copied various support files from old Og.
|
593
725
|
|
594
726
|
25-04-2005 George Moschovitis <gm@navel.gr>
|
595
727
|
|
596
|
-
|
728
|
+
* yeah I got a simple eager relation working.
|
597
729
|
|
598
|
-
|
730
|
+
* lib/og/psql.rb (#join_one): implemented.
|
599
731
|
|
600
|
-
|
601
|
-
|
732
|
+
* lib/og/sql.rb (#find): join clause calculation.
|
733
|
+
(#read_prop): use offset.
|
602
734
|
|
603
|
-
|
604
|
-
|
735
|
+
* lib/og/relation/belongs_to.rb: updated to latest code.
|
736
|
+
precalculate stuff.
|
605
737
|
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
738
|
+
* lib/og/relation.rb (#relations): implemented,
|
739
|
+
(#inspect_relation): implemented.
|
740
|
+
extend from Hash, not Flexob.
|
741
|
+
set setter.
|
742
|
+
use inflector to inflect relation names.
|
611
743
|
|
612
|
-
|
744
|
+
* yeah i got my blog up using the new Og.
|
613
745
|
|
614
|
-
|
746
|
+
* lib/og/mixin/*: copied from old.
|
615
747
|
|
616
|
-
|
748
|
+
* replaced the original implementation.
|
617
749
|
|
618
|
-
|
619
|
-
|
750
|
+
* lib/og/manager.rb (#manage): def ==,
|
751
|
+
(#manageable_classes): improved detection.
|
620
752
|
|
621
|
-
|
622
|
-
|
753
|
+
* lib/og/collection.rb (#clear): added.
|
754
|
+
(#delete): added.
|
623
755
|
|
624
|
-
|
625
|
-
|
626
|
-
|
756
|
+
* lib/og/entity.rb (#transaction): added.
|
757
|
+
(#find, #find_one): made options optional
|
758
|
+
cleaned up.
|
627
759
|
|
628
760
|
24-04-2005 George Moschovitis <gm@navel.gr>
|
629
761
|
|
630
|
-
|
762
|
+
* relation caching also works.
|
631
763
|
|
632
|
-
|
764
|
+
* yeah I got an 'active' collection working.
|
633
765
|
|
634
|
-
|
635
|
-
|
766
|
+
* lib/og/relation/has_many.rb (#add_entity): implemented.
|
767
|
+
reloading option works.
|
636
768
|
|
637
|
-
|
638
|
-
|
769
|
+
* lib/og/collection.rb: overload array methods.
|
770
|
+
(#initialize): pass adder method.
|
639
771
|
|
640
|
-
|
772
|
+
* lib/og/store.rb (#unsaved?): implemented.
|
641
773
|
|
642
|
-
|
774
|
+
* lib/og/store/sql.rb (#find_one): fixed duplicate query.
|
643
775
|
|
644
|
-
|
645
|
-
|
776
|
+
* lib/og/entity.rb (#create): added, takes block.
|
777
|
+
(#primary_key): more fault tolerant.
|
646
778
|
|
647
779
|
23-04-2005 George Moschovitis <gm@navel.gr>
|
648
780
|
|
649
|
-
|
650
|
-
|
781
|
+
* lib/og/entity.rb: add [] in class,
|
782
|
+
load, find, find_first and aliases.
|
651
783
|
|
652
|
-
|
653
|
-
|
784
|
+
* lib/og/relation/has_many.rb (#enchant): implemented,
|
785
|
+
(HasManyCollection): introduced.
|
654
786
|
|
655
|
-
|
787
|
+
* don't use property.name.
|
656
788
|
|
657
|
-
|
789
|
+
* test/og/store/tc_psql.rb: implemented.
|
658
790
|
|
659
|
-
|
660
|
-
|
661
|
-
|
791
|
+
* lib/og/store/sql.rb (#og_read): greatly simplified.
|
792
|
+
(#find): implemented,
|
793
|
+
(#find_one): implemented.
|
662
794
|
|
663
|
-
|
795
|
+
* lib/og/manager.rb (#setup): honour :destroy.
|
664
796
|
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
797
|
+
* lib/og/store/psql.rb: added many methods from the old
|
798
|
+
adapter.
|
799
|
+
(og_insert): works!
|
800
|
+
(#create_column_map): introduced.
|
801
|
+
(og_read): yeah, it works!
|
802
|
+
(#close): added,
|
803
|
+
(#read_all): added.
|
672
804
|
|
673
|
-
|
674
|
-
|
805
|
+
* lib/og/store.rb (#enchant): call lifecycle method compilers.
|
806
|
+
(#close): added.
|
675
807
|
|
676
808
|
22-04-2005 George Moschovitis <gm@navel.gr>
|
677
809
|
|
678
|
-
|
810
|
+
* lib/og/store/filesys.rb (#enchant): use less evals.
|
679
811
|
|
680
|
-
|
681
|
-
|
682
|
-
|
812
|
+
* lib/og/store/sql.rb: started implementing,
|
813
|
+
(#create_table/#drop_table): introduced.
|
814
|
+
added typmap support.
|
683
815
|
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
816
|
+
* lib/og/store/psql.rb: started implementing.
|
817
|
+
(#create_table): implemented.
|
818
|
+
(#enchant): no evals,
|
819
|
+
add saved?
|
688
820
|
|
689
|
-
|
821
|
+
* I got enchanting working.
|
690
822
|
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
823
|
+
* lib/og/store.rb (#reload): introduced,
|
824
|
+
(#enchant): set og_store,
|
825
|
+
add index macro.
|
826
|
+
|
695
827
|
21-04-2005 George Moschovitis <gm@navel.gr>
|
696
828
|
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
829
|
+
* lib/og/store/filesys.rb: introduced,
|
830
|
+
(#create, #destroy): implemented.
|
831
|
+
after many changes, got something working.
|
832
|
+
(#destroy): use rm_rf.
|
833
|
+
use OGNAME,
|
834
|
+
dont remove leading module from OGNAME.
|
835
|
+
(#path): helper.
|
836
|
+
(#delete): implemented.
|
705
837
|
|
706
|
-
|
838
|
+
* lib/og/store/psql.rb: introduced.
|
707
839
|
|
708
|
-
|
840
|
+
* lib/og/store/sql.rb: introduced.
|
709
841
|
|
710
|
-
|
842
|
+
* lib/og/relation/belongs_to (#enchant): full.
|
711
843
|
|
712
|
-
|
844
|
+
* YEAH, added support for different primary keys.
|
713
845
|
|
714
|
-
|
846
|
+
* lib/og/collection.rb: introduced.
|
715
847
|
|
716
|
-
|
717
|
-
|
848
|
+
* lib/og/errors.rb: introduced,
|
849
|
+
(StoreException): introduced.
|
718
850
|
|
719
|
-
|
720
|
-
|
721
|
-
|
851
|
+
* lib/og/manager.rb: introduced.
|
852
|
+
(#managable_classes): implemented.
|
853
|
+
(EntityInfo): introduced.
|
722
854
|
|
723
|
-
|
855
|
+
* test/tc_og.rb: reintroduced.
|
724
856
|
|
725
|
-
|
857
|
+
* lib/og/relation: introduced.
|
726
858
|
|
727
|
-
|
728
|
-
|
859
|
+
* lib/og/store.rb: introduced,
|
860
|
+
unified store/connection.
|
729
861
|
|
730
|
-
|
862
|
+
* lib/og/mixin: introduced.
|
731
863
|
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
864
|
+
* lib/og/entity.rb: introduced.
|
865
|
+
(EntityMixin): introduced.
|
866
|
+
(Entity): introduced.
|
867
|
+
(InstanceMethods): introduced.
|
868
|
+
(ClassMethods): introduced.
|
869
|
+
(#resolve_primary_key): implemented.
|
738
870
|
|
739
|
-
|
871
|
+
* started working on new implementation.
|
740
872
|
|
741
873
|
20-04-2005 George Moschovitis <gm@navel.gr>
|
742
874
|
|
743
|
-
|
875
|
+
* lib/og/enchant.rb (#self.update): gets oid argument.
|
744
876
|
|
745
877
|
19-04-2005 George Moschovitis <gm@navel.gr>
|
746
878
|
|
747
|
-
|
879
|
+
* lib/og/meta.rb: started using facets :)
|
748
880
|
|
749
|
-
|
881
|
+
* Rakefile: added facets dependency.
|
750
882
|
|
751
883
|
16-04-2005 George Moschovitis <gm@navel.gr>
|
752
884
|
|
753
|
-
|
885
|
+
* --- VERSION 0.16.0 ---
|
754
886
|
|
755
|
-
|
887
|
+
* lib/og/mixins/timestamped.rb: implemented with aspects.
|
756
888
|
|
757
889
|
15-04-2005 George Moschovitis <gm@navel.gr>
|
758
890
|
|
759
|
-
|
891
|
+
* test/og/observer.rb: removed, use Aspects instead.
|
760
892
|
|
761
|
-
|
893
|
+
* lib/og/observer.rb: removed, use Aspects instead.
|
762
894
|
|
763
895
|
14-04-2005 George Moschovitis <gm@navel.gr>
|
764
896
|
|
765
|
-
|
897
|
+
* lb/og/adapters/*: converted to the latest adapter interface.
|
766
898
|
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
899
|
+
* lib/og/adapters/base.rb (#eval_og_update): use aspects instead of
|
900
|
+
callbacks/observers,
|
901
|
+
(#eval_og_insert): use aspects,
|
902
|
+
set aspects in the base adapter code,
|
903
|
+
(#eval_og_read): use aspects.
|
772
904
|
|
773
905
|
13-04-2005 George Moschovitis <gm@navel.gr>
|
774
906
|
|
775
|
-
|
776
|
-
|
907
|
+
* lib/og/adapters/*: use klass.allocate instead of klass.new to avoid
|
908
|
+
restrictions on initialize methods. [jamesb]
|
777
909
|
|
778
|
-
|
910
|
+
* test/og/*: moved adapter test code to the adapters dir.
|
779
911
|
|
780
912
|
12-04-2005 George Moschovitis <gm@navel.gr>
|
781
913
|
|
782
|
-
|
914
|
+
* Rakefile: updated to support autoupload to Rubyforge. [flgr]
|
783
915
|
|
784
916
|
11-04-2005 George Moschovitis <gm@navel.gr>
|
785
917
|
|
786
|
-
|
787
|
-
|
918
|
+
* created new public SVN repository, to allow for easier
|
919
|
+
patching by the community.
|
788
920
|
|
789
|
-
|
921
|
+
* lib/og/mixins/timestamped.rb: introduced.
|
790
922
|
|
791
|
-
|
792
|
-
|
923
|
+
* lib/og/database.rb: set default connection_count > 1 to avoid
|
924
|
+
deadlocks.
|
793
925
|
|
794
926
|
10-04-2005 George Moschovitis <gm@navel.gr>
|
795
927
|
|
796
|
-
|
928
|
+
* test/*: many changes to make all run again.
|
797
929
|
|
798
|
-
|
930
|
+
* lib/og/adapters/sqlserver.rb: fix.
|
799
931
|
|
800
|
-
|
932
|
+
* lib/og/database.rb (Og##connect): added helper.
|
801
933
|
|
802
|
-
|
934
|
+
* lib/og/meta.rb: small fix.
|
803
935
|
|
804
936
|
08-04-2005 George Moschovitis <gm@navel.gr>
|
805
937
|
|
806
|
-
|
938
|
+
* hack-fixed dynamic require bug that used to fuckup RDoc.
|
807
939
|
|
808
|
-
|
809
|
-
|
940
|
+
* Rakefile: bumped required ruby version,
|
941
|
+
VERSION fix.
|
810
942
|
|
811
|
-
|
943
|
+
* code cleanup.
|
812
944
|
|
813
|
-
|
945
|
+
* MAJOR: fixed refs to N.
|
814
946
|
|
815
947
|
06-04-2005 George Moschovitis <gm@navel.gr>
|
816
948
|
|
817
|
-
|
949
|
+
* lib/og/adapters/*: all reuse the base now.
|
818
950
|
|
819
|
-
|
951
|
+
* lib/og/connection.rb: removed.
|
820
952
|
|
821
|
-
|
953
|
+
* lib/og/adapter.rb: removed.
|
822
954
|
|
823
|
-
|
824
|
-
|
955
|
+
* lib/og/adapters/base.rb: introduced,
|
956
|
+
copied code from adapter.rb and connection.rb
|
825
957
|
|
826
|
-
|
958
|
+
* lib/og/errors.rb: introduced, moved SqlException here.
|
827
959
|
|
828
960
|
04-04-2005 George Moschovitis <gm@navel.gr>
|
829
961
|
|
830
|
-
|
962
|
+
* --- VERSION 0.15.0 ---
|
831
963
|
|
832
|
-
|
964
|
+
* examples/run.rb: small fix.
|
833
965
|
|
834
|
-
|
966
|
+
* test/og/mixins/tc_tree.rb: removed.
|
835
967
|
|
836
|
-
|
968
|
+
* test/og/mixins/tc_list.rb: removed.
|
837
969
|
|
838
970
|
03-04-2005 George Moschovitis <gm@navel.gr>
|
839
971
|
|
840
|
-
|
972
|
+
* doc/RELEASES: updated.
|
841
973
|
|
842
|
-
|
974
|
+
* lib/og/backend.rb: removed.
|
843
975
|
|
844
|
-
|
845
|
-
|
976
|
+
* test/og/mixins/tc_hierarchical: implemented,
|
977
|
+
dont use article.
|
846
978
|
|
847
|
-
|
979
|
+
* lib/og/mixins/orderable.rb: fixed 1=1 scope.
|
848
980
|
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
981
|
+
* lib/og/mixins/hierarchical.rb (Hierarchical): implemented,
|
982
|
+
(#add_child): implemented.
|
983
|
+
after some fixes, it works!!
|
984
|
+
fixed 1=1 scope.
|
985
|
+
added :root.
|
986
|
+
|
855
987
|
02-04-2005 George Moschovitis <gm@navel.gr>
|
856
|
-
|
857
|
-
|
988
|
+
|
989
|
+
* lib/og/typemacros.rb: small update.
|
858
990
|
|
859
|
-
|
991
|
+
* test/og/mixins/tc_hierarchical: introduced.
|
860
992
|
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
993
|
+
* lib/og/mixins/hierarchical.rb: introduced,
|
994
|
+
(Hierarchical): introduced,
|
995
|
+
(NestedSets): introduced,
|
996
|
+
added enchant methods for nested sets.
|
865
997
|
|
866
|
-
|
998
|
+
* lib/og/mixins/tree.rb: deprecated.
|
867
999
|
|
868
1000
|
01-04-2005 George Moschovitis <gm@navel.gr>
|
869
1001
|
|
870
|
-
|
1002
|
+
* lib/og/adapters/sqlserver.rb: small fixes.
|
871
1003
|
|
872
|
-
|
1004
|
+
* doc/README: updated.
|
873
1005
|
|
874
|
-
|
1006
|
+
* doc/RELEASES: updated.
|
875
1007
|
|
876
|
-
|
1008
|
+
* doc/AUTHORS: updated.
|
877
1009
|
|
878
1010
|
01-04-2005 Anastasios Koutoumanos <drak@navel.gr>
|
879
1011
|
|
880
|
-
|
1012
|
+
* lib/og/adapters/sqlserver.rb: implemented.
|
881
1013
|
|
882
|
-
|
1014
|
+
* test/og/tc_sqlserver.rb: implemented.
|
883
1015
|
|
884
1016
|
31-03-2005 George Moschovitis <gm@navel.gr>
|
885
1017
|
|
886
|
-
|
1018
|
+
* lib/og/mixins/orderable.rb: implemented using dynamic_include.
|
887
1019
|
|
888
|
-
|
1020
|
+
* lib/og/meta.rb: removed inclusion of Og::List.
|
889
1021
|
|
890
|
-
|
1022
|
+
* lib/og/mixins/list.rb: deprecated in favour of the superior implementation.
|
891
1023
|
|
892
1024
|
31-03-2005 Anastasios Koutoumanos <drak@navel.gr>
|
893
1025
|
|
894
|
-
|
1026
|
+
* lib/og/adapters/oracle.rb: removed duplicate eval_og_oid.
|
895
1027
|
|
896
1028
|
28-03-2005 George Moschovitis <gm@navel.gr>
|
897
1029
|
|
898
|
-
|
1030
|
+
* --- VERSION 0.14.0 ---
|
899
1031
|
|
900
|
-
|
1032
|
+
* test/og/mixins/tc_list.rb: implemented tests.
|
901
1033
|
|
902
|
-
|
1034
|
+
* lib/og/connection.rb (#delete): passs obj_or_oid to the callback.
|
903
1035
|
|
904
|
-
|
905
|
-
|
1036
|
+
* lib/og/enchant.rb (#update/#update_all): fixed stupid bug.
|
1037
|
+
(#delete!): pass self.
|
906
1038
|
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
1039
|
+
* lib/og/mixins/list.rb: set the position property for the
|
1040
|
+
enchanted object,
|
1041
|
+
(#move_to_top): fixed.
|
1042
|
+
(#increment_position_of*/dec*): fixed,
|
1043
|
+
fixed scope interpolation.
|
1044
|
+
|
913
1045
|
27-03-2005 George Moschovitis <gm@navel.gr>
|
914
1046
|
|
915
|
-
|
1047
|
+
* lib/og/database.rb: wrap transaction.
|
916
1048
|
|
917
|
-
|
1049
|
+
* lib/og/enchant.rb (#each): fixed.
|
918
1050
|
|
919
|
-
|
920
|
-
|
1051
|
+
* lib/og/meta.rb (#has_many): added :order and :sql options.
|
1052
|
+
include Og::List by default to Module.
|
921
1053
|
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
1054
|
+
* lib/og/mixins/list.rb: added some code,
|
1055
|
+
(#decrement_position_of..): added,
|
1056
|
+
add callbacks to enchanted object,
|
1057
|
+
made compatible with meta,
|
1058
|
+
use pre_insert,
|
1059
|
+
many, many small fixes to make this work.
|
1060
|
+
|
1061
|
+
* test/og/mixins/tc_list.rb: introduced.
|
930
1062
|
|
931
1063
|
24-03-2005 George Moschovitis <gm@navel.gr>
|
932
1064
|
|
933
|
-
|
1065
|
+
* lib/og/adapters/*: rescue binding require. [drak]
|
934
1066
|
|
935
|
-
|
1067
|
+
* lib/og/enchant.rb: fixed many bugs to make this run again.
|
936
1068
|
|
937
1069
|
23-03-2005 George Moschovitis <gm@navel.gr>
|
938
1070
|
|
939
|
-
|
1071
|
+
* lib/og/testing: introduced.
|
940
1072
|
|
941
|
-
|
1073
|
+
* test/mixins/tc_list.rb: introduced.
|
942
1074
|
|
943
|
-
|
1075
|
+
* test/mixins: introduced.
|
944
1076
|
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
1077
|
+
* lib/og/mixins/list.rb: introduced.
|
1078
|
+
(#move_higher/lower): implemented.
|
1079
|
+
(#increment/decrement_position): implemented.
|
1080
|
+
implemented many methods.
|
949
1081
|
|
950
|
-
|
1082
|
+
* INSTALL: updated, added ref to required libs. [dyoder]
|
951
1083
|
|
952
|
-
|
1084
|
+
* lib/og/adapter.rb (SqlException): introduced.
|
953
1085
|
|
954
|
-
|
955
|
-
|
1086
|
+
* lib/og/connection.rb (#handle_db_exception): factored out,
|
1087
|
+
update_property alias.
|
956
1088
|
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
1089
|
+
* lib/og/adapters/* (#exec/query): return :error on error
|
1090
|
+
and add support for raising exceptions,
|
1091
|
+
use handle_db_exception,
|
1092
|
+
added get_row helper method.
|
961
1093
|
|
962
|
-
|
1094
|
+
* lib/og.rb: added raise_db_exceptions flag. [mneumann]
|
963
1095
|
|
964
|
-
|
1096
|
+
* test/tc_og.rb: added tests.
|
965
1097
|
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
1098
|
+
* lib/og/enchant.rb (#reload): implemented [mneumann],
|
1099
|
+
update_property alias.
|
1100
|
+
(#set_property): introduced.
|
1101
|
+
(#update_all): implemented.
|
1102
|
+
(#transaction): implemented.
|
971
1103
|
|
972
|
-
|
1104
|
+
* lib/og/adapter.rb (#og_read): tupple defualt is 0.
|
973
1105
|
|
974
1106
|
22-03-2005 George Moschovitis <gm@navel.gr>
|
975
1107
|
|
976
|
-
|
1108
|
+
* lib/og/adapter.rb (#create_db): set create_schema = true. [danjover]
|
977
1109
|
|
978
|
-
|
1110
|
+
* lib/og/meta.rb (#has_many): accepts tree option.
|
979
1111
|
|
980
|
-
|
1112
|
+
* lib/og/tree.rb (TreeTraversal): introduced.
|
981
1113
|
|
982
|
-
|
1114
|
+
* test/og/tc_tree.rb: introduced.
|
983
1115
|
|
984
1116
|
21-03-2005 George Moschovitis <gm@navel.gr>
|
985
1117
|
|
986
|
-
|
1118
|
+
* lib/og/tree.rb: Introduced Tree mixin.
|
987
1119
|
|
988
1120
|
20-03-2005 George Moschovitis <gm@navel.gr>
|
989
1121
|
|
990
|
-
|
1122
|
+
* lib/og/meta.rb: experimented with const_missing hack.
|
991
1123
|
|
992
|
-
|
1124
|
+
* test/og/tc_automanage.rb: implemented.
|
993
1125
|
|
994
|
-
|
995
|
-
|
1126
|
+
* lib/og/database.rb (#auto_manage_classes): added, to automanage
|
1127
|
+
classes defined after Database definition. [james_b]
|
996
1128
|
|
997
1129
|
19-03-2005 George Moschovitis <gm@navel.gr>
|
998
1130
|
|
999
|
-
|
1131
|
+
* lib/og/database.rb (#initialize): handle drop_db config parameter.
|
1000
1132
|
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1133
|
+
* lib/og/tree.rb: implemented nested intervals tree traversal
|
1134
|
+
helper methods,
|
1135
|
+
fix in parent,
|
1136
|
+
yeah! the hierarchy is stored.
|
1005
1137
|
|
1006
1138
|
18-03-2005 George Moschovitis <gm@navel.gr>
|
1007
1139
|
|
1008
|
-
|
1140
|
+
* Research about nested interval sql tree traversal.
|
1009
1141
|
|
1010
1142
|
17-03-2005 George Moschovitis <gm@navel.gr>
|
1011
1143
|
|
1012
|
-
|
1144
|
+
* --- VERSION 0.13.0 ---
|
1013
1145
|
|
1014
|
-
|
1146
|
+
* Rakefile: updated.
|
1015
1147
|
|
1016
|
-
|
1148
|
+
* test/*: changes to make the tests pass again.
|
1017
1149
|
|
1018
1150
|
15-03-2005 George Moschovitis <gm@navel.gr>
|
1019
1151
|
|
1020
|
-
|
1152
|
+
* README: updated.
|
1021
1153
|
|
1022
1154
|
12-03-2005 George Moschovitis <gm@navel.gr>
|
1023
1155
|
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1156
|
+
* lib/og/validation.rb: introduced,
|
1157
|
+
(#validate_unique): implemented,
|
1158
|
+
(#validate_related): implemented.
|
1027
1159
|
|
1028
1160
|
10-03-2005 George Moschovitis <gm@navel.gr>
|
1029
1161
|
|
1030
|
-
|
1162
|
+
* lib/og.rb: removed Name.
|
1031
1163
|
|
1032
|
-
|
1164
|
+
* install.rb: updated for Og.
|
1033
1165
|
|
1034
|
-
|
1166
|
+
* INSTALL: updated for Og.
|
1035
1167
|
|
1036
|
-
|
1168
|
+
* Rakefile: updated, removed nitro dependencies.
|
1037
1169
|
|
1038
|
-
|
1170
|
+
* CHANGELOG: splitted from the Nitro ChangeLog.
|