aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Addded validation for validate all the associated objects before declaring ↵David Heinemeier Hansson2005-02-171-3/+3
| | | | | | failure with validates_associated #618 [Tim Bates]. Added that validates_* now accept blocks to perform validations #618 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@650 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed the verbosity of using the AR storeDavid Heinemeier Hansson2005-02-171-2/+9
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@639 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Moved Active Support into its own gemDavid Heinemeier Hansson2005-02-152-5/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@624 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Small indentDavid Heinemeier Hansson2005-02-151-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@613 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added keyword-style approach to defining the custom relational bindings #545 ↵David Heinemeier Hansson2005-02-071-1/+70
| | | | | | [Jamis Buck] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@527 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed documentation snafus #575, #576, #577, #585David Heinemeier Hansson2005-02-0711-31/+31
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@525 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that the 'fixture :posts' syntax can be used for ↵David Heinemeier Hansson2005-02-071-2/+9
| | | | | | has_and_belongs_to_many fixtures where a model doesn't exist #572 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@524 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added an Oracle adapter that works with the Oracle bindings by Yoshida ↵David Heinemeier Hansson2005-02-072-21/+265
| | | | | | (http://raa.ruby-lang.org/project/oracle/) #564 [Maik Schmidt] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@522 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed Base#clone for use with PostgreSQL #565 [hanson@surgery.wisc.edu]David Heinemeier Hansson2005-02-071-4/+4
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@519 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Updated documentation for serializeDavid Heinemeier Hansson2005-01-251-4/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@512 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added the option of supplying an array of ids and attributes to Base#update, ↵David Heinemeier Hansson2005-01-253-59/+36
| | | | | | so that multiple records can be updated at once (inspired by #526/Duane Johnson). Added the option of supplying an array of attributes to Base#create, so that multiple records can be created at once. Added that Base#delete and Base#destroy both can take an array of ids to delete/destroy #336. Added that has_many association build and create methods can take arrays of record data like Base#create and Base#build to build/create multiple records at once. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@504 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed documentation #538David Heinemeier Hansson2005-01-251-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@503 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* The create and build methods are only available for has_one/belongs_to if an ↵David Heinemeier Hansson2005-01-251-2/+3
| | | | | | association already exist. It will not work when it's nil. Updated the documentation to reflect that. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@501 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base.update_collection that can update an array of id/attribute pairs, ↵David Heinemeier Hansson2005-01-241-1/+42
| | | | | | such as the ones produced by the recent added support for automatic id-based indexing for lists of items #526 [Duane Johnson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@496 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added ActiveRecord::Base.timestamps_gmt that can be set to true to make the ↵David Heinemeier Hansson2005-01-241-7/+12
| | | | | | automated timestamping use GMT instead of local time #520 [Scott Baron] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@491 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that update_all calls sanitize_sql on its updates argument, so stuff ↵David Heinemeier Hansson2005-01-241-1/+1
| | | | | | like MyRecord.update_all(['time = ?', Time.now]) works #519 [notahat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@489 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the dynamic finders didnt treat nil as a "IS NULL" but rather "= ↵David Heinemeier Hansson2005-01-241-1/+3
| | | | | | NULL" case #515 [Demetrius] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@488 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added bind-named arrays for interpolating a group of ids or strings in ↵David Heinemeier Hansson2005-01-241-3/+12
| | | | | | conditions #528 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@485 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that has_and_belongs_to_many associations with additional attributes ↵David Heinemeier Hansson2005-01-242-18/+31
| | | | | | also can be created between unsaved objects and only committed to the database when Base#save is called on the associator #524 [Eric Anderson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@484 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that records fetched with piggy-back attributes or through rich ↵David Heinemeier Hansson2005-01-241-1/+2
| | | | | | has_and_belongs_to_many associations couldn't be saved due to the extra attributes not part of the table #522 [Eric Anderson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@483 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added mass-assignment protection for the inheritance column -- regardless of ↵David Heinemeier Hansson2005-01-231-3/+8
| | | | | | a custom column is used or not git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@477 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that association proxies would fail === tests like PremiumSubscription ↵David Heinemeier Hansson2005-01-231-0/+5
| | | | | | === @account.subscription git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@476 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Replaced === checks with is_a? checks #502, #82 [Marcel Molina]David Heinemeier Hansson2005-01-204-7/+7
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@466 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that column aliases didn't work as expected with the new MySql411 ↵David Heinemeier Hansson2005-01-201-1/+1
| | | | | | driver #507 [Demetrius] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@465 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that find_all would produce invalid sql when called sequentialy #490 ↵David Heinemeier Hansson2005-01-201-1/+1
| | | | | | [Scott Baron] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@464 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Cleanup the proxy rollback #492David Heinemeier Hansson2005-01-181-14/+6
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@457 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the belongs_to and has_one proxy would fail a test like 'if ↵David Heinemeier Hansson2005-01-185-27/+57
| | | | | | project.manager' -- this unfortunately also means that you can't call methods like project.manager.build unless there already is a manager on the project #492 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@456 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the Ruby/MySQL adapter wouldn't connect if the password was empty ↵David Heinemeier Hansson2005-01-181-1/+2
| | | | | | #503 [Pelle] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@454 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made human_attribute_name(attribute_key_name) use Inflector.humanizeDavid Heinemeier Hansson2005-01-171-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@451 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Make sure #470 shouldnt be happeningDavid Heinemeier Hansson2005-01-171-13/+0
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@437 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Only remember that an association was loaded if it was foundDavid Heinemeier Hansson2005-01-171-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@435 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* belongs_to association should always honor a present foreign key and ↵David Heinemeier Hansson2005-01-173-23/+33
| | | | | | condition interpolation should also be possible on belongs_to git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@433 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* New adventures in dependency reloadingDavid Heinemeier Hansson2005-01-161-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@429 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added validates_associated that enables validation of objects in an unsaved ↵David Heinemeier Hansson2005-01-151-0/+33
| | | | | | association #398 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@418 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added support for associating unsaved objects #402 [Tim Bates]David Heinemeier Hansson2005-01-1510-284/+502
| | | | | | | | | Added replace to associations, so you can do project.manager.replace(new_manager) or project.milestones.replace(new_milestones) #402 [Tim Bates] Added build and create methods to has_one and belongs_to associations, so you can now do project.manager.build(attributes) #402 [Tim Bates] Fixed that Base#== wouldn't work for multiple references to the same unsaved object #402 [Tim Bates] Added that if a before_* callback returns false, all the later callbacks and the associated action are cancelled. If an after_* callback returns false, all the later callbacks are cancelled. Callbacks are generally run in the order they are defined, with the exception of callbacks defined as methods on the model, which are called last. #402 [Tim Bates] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@417 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added a bit more documentation on how to use the instance methods for ↵David Heinemeier Hansson2005-01-151-11/+14
| | | | | | acts_as_list #478 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@411 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed binary support for PostgreSQL #444 [alex@byzantine.no]David Heinemeier Hansson2005-01-151-1/+29
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@410 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Removed silly change caused by inability to grok own code at 3 amDavid Heinemeier Hansson2005-01-141-8/+8
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@406 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Changed add_to_list_top and add_to_list_bottom to be publicDavid Heinemeier Hansson2005-01-141-10/+10
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@405 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Refactored ActiveRecord::Base#clone to use Base#attributes #463 [atyp]David Heinemeier Hansson2005-01-131-11/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@401 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Remove length alias of sizeDavid Heinemeier Hansson2005-01-111-2/+0
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@396 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added a differenciation between AssociationCollection#size and -length. Now ↵David Heinemeier Hansson2005-01-111-1/+10
| | | | | | AssociationCollection#size returns the size of the collection by executing a SELECT COUNT(*) query if the collection hasn't been loaded and calling collection.size if it has. If it's more likely than not that the collection does have a size larger than zero and you need to fetch that collection afterwards, it'll take one less SELECT query if you use length. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@392 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed the 4.11 changes to the mysql adapterDavid Heinemeier Hansson2005-01-112-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@391 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#attributes that returns a hash of all the attributes with their ↵David Heinemeier Hansson2005-01-111-0/+12
| | | | | | names as keys and clones of their objects as values #433 [atyp.de] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@386 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that foreign keys named the same as the association would cause stack ↵David Heinemeier Hansson2005-01-111-2/+2
| | | | | | overflow #437 [Eric Anderson] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@382 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed default scope of acts_as_list from "1" to "1 = 1", so itll work in ↵David Heinemeier Hansson2005-01-111-1/+1
| | | | | | PostgreSQL (among other places) #427 [Alexey] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@380 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#reload that reloads the attributes of an object from the database ↵David Heinemeier Hansson2005-01-101-1/+8
| | | | | | #422 [Andreas Schwarz] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@376 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added SQLite3 compatibility through the sqlite3-ruby adapter by Jamis Buck ↵David Heinemeier Hansson2005-01-102-83/+105
| | | | | | #381 [bitsweat] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@374 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added support for the new protocol spoken by MySQL 4.1.1+ servers for the ↵David Heinemeier Hansson2005-01-102-0/+319
| | | | | | Ruby/MySQL adapter that ships with Rails #440 [Matt Mower] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@372 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that Observers can use the observes class method instead of ↵David Heinemeier Hansson2005-01-101-1/+5
| | | | | | overwriting self.observed_class() git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@367 5ecf4fe2-1ee6-0310-87b1-e25e094e27de