11-08-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
* lib/og/store/*: log creation of join tables.
07-08-2005 George Moschovitis <gm@navel.gr>
* lib/og/entity.rb: fixed schema_inheritance alias.
* lib/og.rb: updated comments.
* doc/RELEASES: updated.
06-08-2005 George Moschovitis <gm@navel.gr>
* lib/og/entity.rb: helper method.
* lib/og/manager.rb (#manage_class): alias,
(#get_store): fixed bug in thread_safe mode, allows multiple
og's to run in thread safe mode.
* test/og/tc_multiple.rb: implemented.
05-08-2005 George Moschovitis <gm@navel.gr>
* lib/og/relation/has_many.rb: support for legacy schemas,
:foreign_field option,
quote foreign_key values,
fixed foreign_field bug.
* lib/og/relation/refers_to.rb: support for legacy schemas.
* lib/og/entity.rb (#set_primary_key): also get primary key class,
(#og_quote): added.
04-08-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/*: use #field_for_property where needed,
don't create the oid property if not needed!
fixed enchant some more,
fixed finder calculation to honour field override.
* lib/og/store/sql.rb (#table): honour sql_table metadata,
(#field_for_property): implemented,
(#eval_og_read): updated to handle custom fields.
* lib/og/entity.rb (#sql_table): added helper [daval],
added set_xxx prefix to some helper.
* test/og/tc_reverse.rb: introduced,
Yeah, I got data written to a legacy table.
* lib/og/test/testcase.rb: introduced,
(fixture): implemented,
(og_fixture): implemented.
* lib/og/test/assertions.rb: introduced.
30-07-2005 George Moschovitis <gm@navel.gr>
* test/: renamed from testing.
28-07-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.21.1 ---
* lib/og/store/psql.rb: custom eval_og_allocate,
fixed inheritance problem.
* lib/og/store/sql.rb: factored out eval_og_allocate.
* lib/og/store/*: fixed inheritance problem.
* lib/og/relation.rb (#enchant): fixed for polymorphic.
27-07-2005 George Moschovitis <gm@navel.gr>
* lib/og.rb: moved setup from manager.rb here,
(#escape): added helper.
* lib/og/relation.rb (#setup): refactored,
(#enchant): manually update the owner class to handle inherited
relations.
* slightly modified deborah's patch.
* test/og/tc_store.rb: updated,
added test for inhertiance/relarion problem.
* lib/og/mixin/orderable.rb: updated to latest, passes test.
* lib/og/store/sql.rb (#update_by_sql): implemented.
* lib/og/entity.rb (#update_by_sql): added.
(#update_properties): reimplemented [aleksi],
added some nice aliases,
(##update): use update_by_sql,
(##escape): implemented.
27-07-2005 Deborah Hooker <deb@ysabel.org>
* lib/og/store/sql.rb (#ordered_join_table_keys): implemented,
(#join): fix,
(#unjoin): fix,
(#eval_og_create_schema): fix.
24-07-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.21.0 ---
* lib/og/relation/joins_many.rb: fixed the same bugs.
* lib/og/relation/has_many.rb: fixed find_options override
bug [guillaunne],
keep find_options in multiple calls.
* Rakefile: updated,
fixed gem RDOC generation problem [Markus].
22-07-2005 George Moschovitis <gm@navel.gr>
* doc/RELEASES: updated.
* converted all code to use spaces instead of tab.
* lib/og/relation/refers_to: changes in Aleksi's patch.
22-07-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
* lib/og/relation/refers_to: a small patch.
21-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/relation/joins_many.rb: honour the :through option
to allow for customized join tables,
yeah, I got the intermediate table used,
pass field values for the custom join table!
(xxx_join): auto generate join metadata method!
* lib/og/relation.rb (#resolve_symbol): implemented,
(#resolve_target): use resolve_symbol.
* lib/og/store/sql.rb (eval_og_create_schema): added to allow
for interception [ysabel],
(#join): accepts fields for custom join tables!
20-07-2005 George Moschovitis <gm@navel.gr>
* test/og/tc_join.rb: introduced.
* lib/og/store/mysql.rb: use custom join create index.
* lib/og/store/sql.rb (#tableize): implemented,
(#resolve_limit_options): improved,
after *a lot* of changes the patch works :)
(#create_join_table_sql): returns an array.
* manualy applied and improved ysabel's patch.
20-07-2005 Ysabel <gm@navel.gr>
* lib/og/store/sql.rb (#join_object_ordering): implemented,
(#join_class_ordering): implemented,
(#join_*): added many helper methods,
(#build_join*): added many helpers,
(#create_join*): added helpers,
(#resolve_limit_options): added.
* lib/og/mysql.rb: refactored.
* lib/og/store/kirby.rb: refactored.
* lib/og/relation/joins_many.rb: refactored, cleaned up.
19-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/mysql.rb (Result#fields): added.
* lib/og/store/psql.rb (#read_row): added.
* lib/og/store/sqlite.rb (ResultSet#fields): added.
* lib/og/store/sql.rb (#read_all): reimplemented to get options
and use read_row,
(#resolve_options): handles :select,
(#read_all): reimplemented.
(#read_all): implemented.
* test/og/tc_query.rb: implemented.
19-07-2005 Michael Neumann <mneumann@ntecs.de>
* install.rb: fixes.
18-07-2005 Michael Neumann <mneumann@ntecs.de>
* lib/og/collection.rb (#delete_if): implemented.
* lib/og/relation/refers_to.rb: nil fix.
* lib/og/store/psql.rb (#start): use BEGIN TRANSACTION, more
compatible with older versions.
17-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/manager.rb (Og##options=): added.
16-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/relation/joins_many.rb: pass options in collection,
implemented count_proc [SOS: placeholder!!]
* lib/og/store/sql.rb: find_by_sql_one alias.
* lib/og/relation/has_many.rb: implemented count_proc.
* lib/og/collection.rb (#size): implemented [mneumann],
(#count): size alias,
(#unload): implemented.
13-07-2005 Michael Neumann <mneumann@ntecs.de>
* lib/og/store/sql.rb (#aggregate): implemented,
(#count): #aggregate alias.
13-07-2005 bizilan <bizilan@laposte.net>
* lib/og/store/sql.rb (#resolve_options): change the order of
offset/limit to be more compatible with sqlite.
13-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/psql.rb (#initialize): Og::Blob mapping [menumann].
* lib/og/relation/has_many.rb: check for nil [menumann].
* lib/og/relation/refers_to.rb: check for nil [menumann].
11-07-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.20.0 ---
* doc/RELEASES: updated.
* lib/og/store/sql.rb: escape all condition interpolations [miika].
* vendor/kirbybase.rb: copied here, cleaned up store dir.
* lib/og/store/mysql.rb: check if reconnect exists,
verified that the fallback adapter works.
11-07-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
* lib/og/mixin/hierarchical.rb (#parent): added.
07-07-2005 George Moschovitis <gm@navel.gr>
* lib/vendor/mysql.rb: added as a fallback [james_b].
05-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/entity.rb (##find): fixed NASTY bug!
* lib/og/store.rb: introduced :uniq keyword.
03-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb (#find_one): should not limit by default.
* added more comments to various classes.
01-07-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb (#join_table): fix for self join case [petr].
30-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/relations/has_many.rb (#resolve_polymorphic): made
more fault tolerant.
24-06-2005 George Moschovitis <gm@navel.gr>
* lib/og.rb: added various settings.
* doc/AUTHORS: updated.
21-06-2005 Aleksi Niemela <Aleksi.Niemela@cs.helsinki.fi>
* lib/og/relation.rb (#resolve_target): fixed infinite loop
bug.
20-06-2005 George Moschovitis <gm@navel.gr>
* README: facet/redcloth pointers [bcandler]
* INSTALL: facet/redcloth pointers [bcandler]
18-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb (#find_by_sql): alias for select.
17-06-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.19.0 ---
* examples/run.rb: fixes to make it run again.
* README: updated.
15-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/psql.rb: minor changes while applying michael's
patch.
* yeah, the new code passes tc_store.rb
* lib/og/sql.rb: don't create tables for polymorphic parents.
* lib/og/entity.rb (#polymorphic_parent?): implemented
* lib/og/relation/has_many.rb: (#initialize): imply belongs_to
relation if missing!,
(#resolve): gets symbol for resolve method.
* lib/og/relation.rb: fixes for polymorphic relations,
(#initialize): fix for non polymorphic.
15-06-2005 Michael Neumann <mneumann@ntecs.de>
* lib/og.rb (Blob): introduced.
14-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/relation.rb: added support for polymorphic relations,
(#polymorphic?): added.
* back from vacations, lets rock!
09-06-2005 George Moschovitis <gm@navel.gr>
* test/og/tc_polymorphic.rb: introduced.
08-06-2005 George Moschovitis <gm@navel.gr>
* doc/AUTHORS: updated.
* lib/og/store/mysql.rb: added :table_type options so you can
use InnoDB tables.
07-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/manager.rb (#manage): call specialized enchanting
code.
* lib/og/mixin/optimistic_locking.rb: after some fixes it kinda
works,
correclty overloads #update.
overload #save.
06-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/*: implemented sql_update for psql, mysql, sqlite3.
* lib/og/mixin/optimistic_locking.rb: introduced,
(#update_with_lock): implemented.
* test/og/tc_store.rb: added extra tests for extra functionality,
updated ...update tests.
* lib/og/entity.rb (#select/#select_one): added,
added exist? alias.
* lib/og/store/sql.rb: (#read_one): use ensure res.close [ghislain]
(#read_all): ditto,
(#select): implemented,
(#select_one): implemented.
Auto add SELECT * FROM table if missing for extra convienience,
(#find): handle :sql option.
added exist? alias,
(#sql_update): introduced.
(#update, #update_properties): use sql_update.
(#update_condition): implemented.
use update_condition to simplify the code.
(#update): new more flexible interface.
05-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/*: adapted og insert in all stores.
* COOL: SuperClass.all returns an array of subclasses,
correctly typed.
* lib/og/store/sql.rb: added more comments, cleaned up,
sanitized usage of res, row and res_row,
(#og_allocate): implemented.
04-06-2005 George Moschovitis <gm@navel.gr>
* lib/og/entity.rb (#all): correctly passes :type find option
for STI classes.
* lib/og/store/mysql.rb (#eval_og_insert): handle STI.
* lib/og/store/sql.rb (#fields_for_class): calculates extra
fields for STI tables,
(#find): added support for type in finders.
* doc/AUTHORS: updated.
* lib/og/entity.rb (#schema_inheritance): added.
* lib/og/manager.rb (#manageable?): introduced,
(#manage): keep inheritance metadata,
first resolve inheritance.
03-06-2005 George Moschovitis <gm@navel.gr>
* test/og/tc_inheritance.rb: introduced.
02-06-2005 Ghislain Mary <gmary@lunacymaze.org>
* lib/og/store/sqlite.rb: fixed typo.
(#og_insert): fixet last_insert_rowid calculation.
29-05-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.18.0 ---
* lib/og/relation/has_many.rb: takes :order into account.
* lib/og/entity.rb (#find/#all): take find_options into account,
(#find_options): implemented.
(#order): implemented.
24-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/kirby.rb (#og_insert): implemented,
(#destroy): implemented,
save files in a custom directory.
* test/*: some changes to make them pass again.
* lib/og/mixin/orderable.rb: use facet/macro instead of dinclude.
* lib/og/mixin/hierarchical.rb: use facet/macro instead of dinclude.
23-05-2005 George Moschovitis <gm@navel.gr>
* lib/og.rb: added thread_safe mode.
* lib/og/manager.rb: re-added support for threads,
use thread code only in thread safe mode.
20-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/psql.rb (#initialize) min_messages, encoding,
schema_order options.
* lib/og/store/kirbybase/*: copied files from kirby distribution.
* lib/og/store/kirby.rb: introduced,
(#create_table): works.
(#create_column_map): implemented.
* lib/og/store/*: converted all stores to better handle nil
values [mneumann],
don't use the term 'column', use 'field' instead to make
more SQL agnostic.
* lib/og/store/sql.rb (#parse_float): added,
(#parse_int): added,
(#read_prop): handle nil values. [mneumann]
* lib/og/store/sqlite.rb (#blank?): alias eof? [jperrot]
--- THE REVENGE OF SITH ---
19-05-2005 George Moschovitis <gm@navel.gr>
* resolved a posted bug [mneumann].
* lib/og/relation/has_many.rb: added 'dummy' remove support.
* lib/og/collection.rb: improved Julien's patch.
18-05-2005 Julien Perrot <jperrot@exosec.fr>
* lib/og/collection.rb (#remove): implemented.
* lib/og/relation/joins_many.rb (#remove_xxx): implemented.
* lib/og/store/sql.rb (#unjoin): implemented.
* lib/og/manager.rb (#==): fixed when other == nil.
18-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sqlite.rb (#db_filename): overridable db file name [slewis].
* README: added warning about sqlite3 version [slewis].
17-05-2005 George Moschovitis <gm@navel.gr>
* lib/og.rb: keep active manager.
16-05-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.17.0 ---
* doc/RELEASES: updated.
* README: updated.
15-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb (#enchant): check for create_schema.
* lib/og.rb: updated RDoc.
* doc/RELEASES: updated.
15-05-2005 George Moschovitis <gm@navel.gr>
* examples/run.rb: after some changes it runs.
* lib/og/store.rb (#delete): improved obj_or_pk detection.
14-05-2005 George Moschovitis <gm@navel.gr>
* doc/tutorial.txt: added warning.
* doc/RELEASES: updated.
* lib/og/store/*: improved error messages.
* lib/og/store/sqlite.rb (#create_table): create join table,
rescue Object to catch the exception.
* lib/og/store/mysql.rb (#create_table): create join table.
* lib/og/store/psql.rb (#create_table): create join table.
* lib/og/relation/many_to_many.rb: alias to joins_many.
* test/og/tc_store.rb: updated with join tests.
* lib/og/manager.rb (#manage): add the ogmanager attribute here,
relation enchant after store enchant.
(#manage_classes): multipass enchanting to be more flexible.
* lib/og/relation/joins_many: introduced,
implemented,
yeah it passes the test!
* lib/og/relation.rb (#joins_many): introduced,
13-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/mixin/hierarchical.rb: converted to new code.
* test/og/mixin/hierarchical.rb: converted to new code,
mostly works.
* doc/RELEASES: updated.
12-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sqlserver.rb (#initialize): small fix.
* test/og/tc_store.rb: refactored to run all tests.
11-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/memory.rb (MemoryUtils): added to stay compatible
with the other backends.
* lib/og/store/sql.rb (#reload): close the resultset.
* lib/og/entity.rb (#delete): fix.
* lib/og/store/sqlite.rb: passes tests,
added transaction_nesting support.
* lib/og/store/sqlserver.rb: introduced,
reimplemented the minimum set of features needed for a project of mine.
* lib/og/store/mysql.rb (#create_table): fixed,
no transactions (nop).
* lib/og/store.rb (#delete): made more flexible,
added transaction_nesting support.
* examples/run.rb: changes to make this pass.
* lib/og/relation.rb (#resolve_target): handle no-namespace
case.
* test/og/tc_relation.rb: implemented.
10-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/collection.rb: totaly recoded to support lazyer synchronization
with the data-store,
don't extend from array,
use method missing to catch more methods.
* README: added link for pure ruby mysql interface. [jbritt]
09-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sqlite.rb: kinda works :)
* lib/og/store/psql.rb (#read_all): fixed stupid and nasty bug.
* lib/og/relation/has_many.rb: fixed collection update.
08-05-2005 George Moschovitis <gm@navel.gr>
* examples/mysql_to_psql.rb: updated!
YEAH, it works.
* lib/og/store.rb: :<< alias for save.
* examples/*: copied from old og.
* lib/og/store/psql.rb (#create_table): generate join tables.
* lib/og/relation/many_to_many.rb (#enchant): implemented,
worked a LOT on the join table generation.
* lib/og/store/sql.rb (#resolve_options): cleaned up,
handle join/join_condition options.
(#join): introduced.
(#join_table..): use key1, key2,
require yaml, needed.
* replaced some OGTABLE's.
07-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb (#read_all): (SqlUtils#table): implemented
(SqlUtils#join): nice implementation.
(#resolve_options): renamed from resolve_from, handles
all options.
(#find/#find_one): refactored.
06-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/typemacro.rb (##VarChar): fixed.
* lib/og/store.rb (#enchant): create finders for properties.
* test/og/store/tc_psql.rb: use reload,
test generated finders.
* lib/og/store/sql.rb (#read_all): small fix to make compatible
with mysql,
(#reload): generalized and added here,
fixed stupid bug.
* lib/og/store/psql.rb: small updates.
* lib/og/store/mysql.rb: introduced and started the
implementation,
(Mysql::Result): adapted,
yeah, this store passes the tests.
05-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb (#find_one): parse all options,
set limit = 1 if not defined,
fixed limit,
(#find): parse :extra option,
fixed limit.
* lib/og/mixin/orderable.rb: converted to latest code,
no stupid 1 = 1 scope.
* test/og/mixin/tc_timestamped.rb: implemented.
* lib/og/store/memory.rb (ObjectHash): use string keys.
(#initialize): read from the yaml file.
(#close): dump to the yaml file.
YEAH, serialization works,
(#query): added support for order.
* lib/og/entity.rb (#update): added support for selective
update.
* lib/og/store/sql.rb (#update): handle case of updating
selected properties,
(#enable_logging): implemented.
04-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/memory.rb (#update_properties): implemented.
* :where as :condition alias.
* lib/og/entity.rb (#enchant): evaluate aliases for the
primary key,
(#update): added
(##update_properties): added.
* lib/og/store/sql.rb (#update_properties): implemented,
use @ in variables.
* lib/og/store.rb (#update_properties): introduced.
* converted many files to make compatible with facets 0.7.1
03-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store.rb: factored out code from sql.rb, memory.rb
* lib/og/mixin/orderable.rb: use aspects for callbacks.
* test/og/mixin/*: copied tests from old version.
* lib/og/manager.rb (#manage_classes): improved.
* lib/og.rb: cleaned up, removed older code.
* lib/og/relation/belongs_to: set descendants, only here needed.
* lib/og/relation/*: use RefersTo as the basis relation.
* lib/og/entity.rb (#count): implemented.
(##transaction): implemented,
(##delete): implemented.
* pass the class as an option to many methods.
* lib/og/store/memory.rb (#count): implemented,
improved condition handling in count and query,
(#delete): works with descendants,
use og_delete.
* lib/og/store/psql.rb (#first_value): implemented.
* lib/og/store/sql.rb (#count): implemented,
fixed signature of methods,
(#og_delete): implemented.
(#delete): use og_delete.
02-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/memory.rb: introduced,
(#og_insert): implemtented,
(#og_update): implemented,
I got insertions working,
(#query): implemented!
Incredible, the memory store passes all tests.
01-05-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sqlite.rb: implemented the rest of the
functionality,
(#eval_og_insert): implemented.
* lib/og/store/psql.rb: override PGresult,
(#each_row): implemented.
* lib/og/store/sql.rb: removed resultset methods,
(#read_all): use each_row.
(#find_one/all): use new read methods.
30-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/psql.rb: shorter query/select.
* lib/og/store/sql.rb (SqlUtils): renamed from SqlStoreUtils.
(#result_blank?): implemented,
(#result_get): implemented,
(#result_close): implemented,
(#read_one): implemented, also handles join,
(#read_join_relations): implemented.
* lib/og/relation.rb (#resolve_target): supports the no
forward declaration trick.
* lib/og/entity.rb (#const_missing): added trick, no need for
forward declarations [mneumann].
29-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sqlite.rb (#create_table): implemented,
(#create_column_map): implemented.
* lib/og/relation/many_to_many.rb: introduced.
* lib/og/relation/refers_to.rb: implemented as extension of
has_one.
* lib/og/relation/belongs_to.rb: reimplemented as extension of
has_one.
* lib/og/relation/has_one.rb: implemented.
* lib/og/relation.rb (#init_options): handle plural/singular,
further cleanup of the relation code,
even more cleanup, moved init_options code to the Relation
constructor,
totaly removed RelationMacros::Utils.
28-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/relation/has_many.rb: some refactoring.
* lib/og/relation.rb (Relation::Utils): introduced,
(#init_options): implemented.
(#method_missing): access the options as methods.
* lib/og/typemacros.rb: copied from old.
* test/og/store/psql.rb (#test_conversions): added.
* lib/og/store/sql.rb (SqlStoreUtils): refactored.
(#quote): ultraclean implementation.
* lib/og/store/psql.rb: no custom transaction methods.
26-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/sql.rb: added some escape/parsing methods.
* lib/og/store/sqlite.rb: introduced.
* lib/og/psql.rb (#join_all): implemented.
(#reload): implemented.
* copied various support files from old Og.
25-04-2005 George Moschovitis <gm@navel.gr>
* yeah I got a simple eager relation working.
* lib/og/psql.rb (#join_one): implemented.
* lib/og/sql.rb (#find): join clause calculation.
(#read_prop): use offset.
* lib/og/relation/belongs_to.rb: updated to latest code.
precalculate stuff.
* lib/og/relation.rb (#relations): implemented,
(#inspect_relation): implemented.
extend from Hash, not Flexob.
set setter.
use inflector to inflect relation names.
* yeah i got my blog up using the new Og.
* lib/og/mixin/*: copied from old.
* replaced the original implementation.
* lib/og/manager.rb (#manage): def ==,
(#manageable_classes): improved detection.
* lib/og/collection.rb (#clear): added.
(#delete): added.
* lib/og/entity.rb (#transaction): added.
(#find, #find_one): made options optional
cleaned up.
24-04-2005 George Moschovitis <gm@navel.gr>
* relation caching also works.
* yeah I got an 'active' collection working.
* lib/og/relation/has_many.rb (#add_entity): implemented.
reloading option works.
* lib/og/collection.rb: overload array methods.
(#initialize): pass adder method.
* lib/og/store.rb (#unsaved?): implemented.
* lib/og/store/sql.rb (#find_one): fixed duplicate query.
* lib/og/entity.rb (#create): added, takes block.
(#primary_key): more fault tolerant.
23-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/entity.rb: add [] in class,
load, find, find_first and aliases.
* lib/og/relation/has_many.rb (#enchant): implemented,
(HasManyCollection): introduced.
* don't use property.name.
* test/og/store/tc_psql.rb: implemented.
* lib/og/store/sql.rb (#og_read): greatly simplified.
(#find): implemented,
(#find_one): implemented.
* lib/og/manager.rb (#setup): honour :destroy.
* lib/og/store/psql.rb: added many methods from the old
adapter.
(og_insert): works!
(#create_column_map): introduced.
(og_read): yeah, it works!
(#close): added,
(#read_all): added.
* lib/og/store.rb (#enchant): call lifecycle method compilers.
(#close): added.
22-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/filesys.rb (#enchant): use less evals.
* lib/og/store/sql.rb: started implementing,
(#create_table/#drop_table): introduced.
added typmap support.
* lib/og/store/psql.rb: started implementing.
(#create_table): implemented.
(#enchant): no evals,
add saved?
* I got enchanting working.
* lib/og/store.rb (#reload): introduced,
(#enchant): set og_store,
add index macro.
21-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/store/filesys.rb: introduced,
(#create, #destroy): implemented.
after many changes, got something working.
(#destroy): use rm_rf.
use OGNAME,
dont remove leading module from OGNAME.
(#path): helper.
(#delete): implemented.
* lib/og/store/psql.rb: introduced.
* lib/og/store/sql.rb: introduced.
* lib/og/relation/belongs_to (#enchant): full.
* YEAH, added support for different primary keys.
* lib/og/collection.rb: introduced.
* lib/og/errors.rb: introduced,
(StoreException): introduced.
* lib/og/manager.rb: introduced.
(#managable_classes): implemented.
(EntityInfo): introduced.
* test/tc_og.rb: reintroduced.
* lib/og/relation: introduced.
* lib/og/store.rb: introduced,
unified store/connection.
* lib/og/mixin: introduced.
* lib/og/entity.rb: introduced.
(EntityMixin): introduced.
(Entity): introduced.
(InstanceMethods): introduced.
(ClassMethods): introduced.
(#resolve_primary_key): implemented.
* started working on new implementation.
20-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/enchant.rb (#self.update): gets oid argument.
19-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/meta.rb: started using facets :)
* Rakefile: added facets dependency.
16-04-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.16.0 ---
* lib/og/mixins/timestamped.rb: implemented with aspects.
15-04-2005 George Moschovitis <gm@navel.gr>
* test/og/observer.rb: removed, use Aspects instead.
* lib/og/observer.rb: removed, use Aspects instead.
14-04-2005 George Moschovitis <gm@navel.gr>
* lb/og/adapters/*: converted to the latest adapter interface.
* lib/og/adapters/base.rb (#eval_og_update): use aspects instead of
callbacks/observers,
(#eval_og_insert): use aspects,
set aspects in the base adapter code,
(#eval_og_read): use aspects.
13-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/adapters/*: use klass.allocate instead of klass.new to avoid
restrictions on initialize methods. [jamesb]
* test/og/*: moved adapter test code to the adapters dir.
12-04-2005 George Moschovitis <gm@navel.gr>
* Rakefile: updated to support autoupload to Rubyforge. [flgr]
11-04-2005 George Moschovitis <gm@navel.gr>
* created new public SVN repository, to allow for easier
patching by the community.
* lib/og/mixins/timestamped.rb: introduced.
* lib/og/database.rb: set default connection_count > 1 to avoid
deadlocks.
10-04-2005 George Moschovitis <gm@navel.gr>
* test/*: many changes to make all run again.
* lib/og/adapters/sqlserver.rb: fix.
* lib/og/database.rb (Og##connect): added helper.
* lib/og/meta.rb: small fix.
08-04-2005 George Moschovitis <gm@navel.gr>
* hack-fixed dynamic require bug that used to fuckup RDoc.
* Rakefile: bumped required ruby version,
VERSION fix.
* code cleanup.
* MAJOR: fixed refs to N.
06-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/adapters/*: all reuse the base now.
* lib/og/connection.rb: removed.
* lib/og/adapter.rb: removed.
* lib/og/adapters/base.rb: introduced,
copied code from adapter.rb and connection.rb
* lib/og/errors.rb: introduced, moved SqlException here.
04-04-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.15.0 ---
* examples/run.rb: small fix.
* test/og/mixins/tc_tree.rb: removed.
* test/og/mixins/tc_list.rb: removed.
03-04-2005 George Moschovitis <gm@navel.gr>
* doc/RELEASES: updated.
* lib/og/backend.rb: removed.
* test/og/mixins/tc_hierarchical: implemented,
dont use article.
* lib/og/mixins/orderable.rb: fixed 1=1 scope.
* lib/og/mixins/hierarchical.rb (Hierarchical): implemented,
(#add_child): implemented.
after some fixes, it works!!
fixed 1=1 scope.
added :root.
02-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/typemacros.rb: small update.
* test/og/mixins/tc_hierarchical: introduced.
* lib/og/mixins/hierarchical.rb: introduced,
(Hierarchical): introduced,
(NestedSets): introduced,
added enchant methods for nested sets.
* lib/og/mixins/tree.rb: deprecated.
01-04-2005 George Moschovitis <gm@navel.gr>
* lib/og/adapters/sqlserver.rb: small fixes.
* doc/README: updated.
* doc/RELEASES: updated.
* doc/AUTHORS: updated.
01-04-2005 Anastasios Koutoumanos <drak@navel.gr>
* lib/og/adapters/sqlserver.rb: implemented.
* test/og/tc_sqlserver.rb: implemented.
31-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/mixins/orderable.rb: implemented using dynamic_include.
* lib/og/meta.rb: removed inclusion of Og::List.
* lib/og/mixins/list.rb: deprecated in favour of the superior implementation.
31-03-2005 Anastasios Koutoumanos <drak@navel.gr>
* lib/og/adapters/oracle.rb: removed duplicate eval_og_oid.
28-03-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.14.0 ---
* test/og/mixins/tc_list.rb: implemented tests.
* lib/og/connection.rb (#delete): passs obj_or_oid to the callback.
* lib/og/enchant.rb (#update/#update_all): fixed stupid bug.
(#delete!): pass self.
* lib/og/mixins/list.rb: set the position property for the
enchanted object,
(#move_to_top): fixed.
(#increment_position_of*/dec*): fixed,
fixed scope interpolation.
27-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/database.rb: wrap transaction.
* lib/og/enchant.rb (#each): fixed.
* lib/og/meta.rb (#has_many): added :order and :sql options.
include Og::List by default to Module.
* lib/og/mixins/list.rb: added some code,
(#decrement_position_of..): added,
add callbacks to enchanted object,
made compatible with meta,
use pre_insert,
many, many small fixes to make this work.
* test/og/mixins/tc_list.rb: introduced.
24-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/adapters/*: rescue binding require. [drak]
* lib/og/enchant.rb: fixed many bugs to make this run again.
23-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/testing: introduced.
* test/mixins/tc_list.rb: introduced.
* test/mixins: introduced.
* lib/og/mixins/list.rb: introduced.
(#move_higher/lower): implemented.
(#increment/decrement_position): implemented.
implemented many methods.
* INSTALL: updated, added ref to required libs. [dyoder]
* lib/og/adapter.rb (SqlException): introduced.
* lib/og/connection.rb (#handle_db_exception): factored out,
update_property alias.
* lib/og/adapters/* (#exec/query): return :error on error
and add support for raising exceptions,
use handle_db_exception,
added get_row helper method.
* lib/og.rb: added raise_db_exceptions flag. [mneumann]
* test/tc_og.rb: added tests.
* lib/og/enchant.rb (#reload): implemented [mneumann],
update_property alias.
(#set_property): introduced.
(#update_all): implemented.
(#transaction): implemented.
* lib/og/adapter.rb (#og_read): tupple defualt is 0.
22-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/adapter.rb (#create_db): set create_schema = true. [danjover]
* lib/og/meta.rb (#has_many): accepts tree option.
* lib/og/tree.rb (TreeTraversal): introduced.
* test/og/tc_tree.rb: introduced.
21-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/tree.rb: Introduced Tree mixin.
20-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/meta.rb: experimented with const_missing hack.
* test/og/tc_automanage.rb: implemented.
* lib/og/database.rb (#auto_manage_classes): added, to automanage
classes defined after Database definition. [james_b]
19-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/database.rb (#initialize): handle drop_db config parameter.
* lib/og/tree.rb: implemented nested intervals tree traversal
helper methods,
fix in parent,
yeah! the hierarchy is stored.
18-03-2005 George Moschovitis <gm@navel.gr>
* Research about nested interval sql tree traversal.
17-03-2005 George Moschovitis <gm@navel.gr>
* --- VERSION 0.13.0 ---
* Rakefile: updated.
* test/*: changes to make the tests pass again.
15-03-2005 George Moschovitis <gm@navel.gr>
* README: updated.
12-03-2005 George Moschovitis <gm@navel.gr>
* lib/og/validation.rb: introduced,
(#validate_unique): implemented,
(#validate_related): implemented.
10-03-2005 George Moschovitis <gm@navel.gr>
* lib/og.rb: removed Name.
* install.rb: updated for Og.
* INSTALL: updated for Og.
* Rakefile: updated, removed nitro dependencies.
* CHANGELOG: splitted from the Nitro ChangeLog.
Latest changes
All changes