11-08-2005 Aleksi Niemela * lib/og/store/*: log creation of join tables. 07-08-2005 George Moschovitis * lib/og/entity.rb: fixed schema_inheritance alias. * lib/og.rb: updated comments. * doc/RELEASES: updated. 06-08-2005 George Moschovitis * 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 * 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 * 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 * test/: renamed from testing. 28-07-2005 George Moschovitis * --- 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 * 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 * lib/og/store/sql.rb (#ordered_join_table_keys): implemented, (#join): fix, (#unjoin): fix, (#eval_og_create_schema): fix. 24-07-2005 George Moschovitis * --- 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 * 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 * lib/og/relation/refers_to: a small patch. 21-07-2005 George Moschovitis * 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 * 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 * 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 * 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 * install.rb: fixes. 18-07-2005 Michael Neumann * 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 * lib/og/manager.rb (Og##options=): added. 16-07-2005 George Moschovitis * 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 * lib/og/store/sql.rb (#aggregate): implemented, (#count): #aggregate alias. 13-07-2005 bizilan * lib/og/store/sql.rb (#resolve_options): change the order of offset/limit to be more compatible with sqlite. 13-07-2005 George Moschovitis * 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 * --- 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 * lib/og/mixin/hierarchical.rb (#parent): added. 07-07-2005 George Moschovitis * lib/vendor/mysql.rb: added as a fallback [james_b]. 05-07-2005 George Moschovitis * lib/og/entity.rb (##find): fixed NASTY bug! * lib/og/store.rb: introduced :uniq keyword. 03-07-2005 George Moschovitis * lib/og/store/sql.rb (#find_one): should not limit by default. * added more comments to various classes. 01-07-2005 George Moschovitis * lib/og/store/sql.rb (#join_table): fix for self join case [petr]. 30-06-2005 George Moschovitis * lib/og/relations/has_many.rb (#resolve_polymorphic): made more fault tolerant. 24-06-2005 George Moschovitis * lib/og.rb: added various settings. * doc/AUTHORS: updated. 21-06-2005 Aleksi Niemela * lib/og/relation.rb (#resolve_target): fixed infinite loop bug. 20-06-2005 George Moschovitis * README: facet/redcloth pointers [bcandler] * INSTALL: facet/redcloth pointers [bcandler] 18-06-2005 George Moschovitis * lib/og/store/sql.rb (#find_by_sql): alias for select. 17-06-2005 George Moschovitis * --- VERSION 0.19.0 --- * examples/run.rb: fixes to make it run again. * README: updated. 15-06-2005 George Moschovitis * 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 * lib/og.rb (Blob): introduced. 14-06-2005 George Moschovitis * lib/og/relation.rb: added support for polymorphic relations, (#polymorphic?): added. * back from vacations, lets rock! 09-06-2005 George Moschovitis * test/og/tc_polymorphic.rb: introduced. 08-06-2005 George Moschovitis * doc/AUTHORS: updated. * lib/og/store/mysql.rb: added :table_type options so you can use InnoDB tables. 07-06-2005 George Moschovitis * 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 * 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 * 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 * 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 * test/og/tc_inheritance.rb: introduced. 02-06-2005 Ghislain Mary * lib/og/store/sqlite.rb: fixed typo. (#og_insert): fixet last_insert_rowid calculation. 29-05-2005 George Moschovitis * --- 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 * 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 * 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 * 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 * 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 * 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 * lib/og/store/sqlite.rb (#db_filename): overridable db file name [slewis]. * README: added warning about sqlite3 version [slewis]. 17-05-2005 George Moschovitis * lib/og.rb: keep active manager. 16-05-2005 George Moschovitis * --- VERSION 0.17.0 --- * doc/RELEASES: updated. * README: updated. 15-05-2005 George Moschovitis * lib/og/store/sql.rb (#enchant): check for create_schema. * lib/og.rb: updated RDoc. * doc/RELEASES: updated. 15-05-2005 George Moschovitis * examples/run.rb: after some changes it runs. * lib/og/store.rb (#delete): improved obj_or_pk detection. 14-05-2005 George Moschovitis * 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 * 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 * lib/og/store/sqlserver.rb (#initialize): small fix. * test/og/tc_store.rb: refactored to run all tests. 11-05-2005 George Moschovitis * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * lib/og/enchant.rb (#self.update): gets oid argument. 19-04-2005 George Moschovitis * lib/og/meta.rb: started using facets :) * Rakefile: added facets dependency. 16-04-2005 George Moschovitis * --- VERSION 0.16.0 --- * lib/og/mixins/timestamped.rb: implemented with aspects. 15-04-2005 George Moschovitis * test/og/observer.rb: removed, use Aspects instead. * lib/og/observer.rb: removed, use Aspects instead. 14-04-2005 George Moschovitis * 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 * 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 * Rakefile: updated to support autoupload to Rubyforge. [flgr] 11-04-2005 George Moschovitis * 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 * 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 * 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 * 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 * --- 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 * 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 * 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 * lib/og/adapters/sqlserver.rb: small fixes. * doc/README: updated. * doc/RELEASES: updated. * doc/AUTHORS: updated. 01-04-2005 Anastasios Koutoumanos * lib/og/adapters/sqlserver.rb: implemented. * test/og/tc_sqlserver.rb: implemented. 31-03-2005 George Moschovitis * 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 * lib/og/adapters/oracle.rb: removed duplicate eval_og_oid. 28-03-2005 George Moschovitis * --- 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 * 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 * lib/og/adapters/*: rescue binding require. [drak] * lib/og/enchant.rb: fixed many bugs to make this run again. 23-03-2005 George Moschovitis * 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 * 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 * lib/og/tree.rb: Introduced Tree mixin. 20-03-2005 George Moschovitis * 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 * 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 * Research about nested interval sql tree traversal. 17-03-2005 George Moschovitis * --- VERSION 0.13.0 --- * Rakefile: updated. * test/*: changes to make the tests pass again. 15-03-2005 George Moschovitis * README: updated. 12-03-2005 George Moschovitis * lib/og/validation.rb: introduced, (#validate_unique): implemented, (#validate_related): implemented. 10-03-2005 George Moschovitis * 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.