David Heinemeier Hansson
ee014ef95a
New adventures in dependency reloading
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@429 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-16 17:50:36 +00:00
David Heinemeier Hansson
51390b8524
Added validates_associated that enables validation of objects in an unsaved association #398 [Tim Bates]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@418 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-15 17:52:08 +00:00
David Heinemeier Hansson
823554eafe
Added support for associating unsaved objects #402 [Tim Bates]
...
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
2005-01-15 17:45:16 +00:00
David Heinemeier Hansson
f73ecc8626
Added a bit more documentation on how to use the instance methods for acts_as_list #478
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@411 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-15 13:49:23 +00:00
David Heinemeier Hansson
ad63c96ff2
Fixed binary support for PostgreSQL #444 [alex@byzantine.no]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@410 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-15 13:48:39 +00:00
David Heinemeier Hansson
4a0695996f
Removed silly change caused by inability to grok own code at 3 am
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@406 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-14 02:12:00 +00:00
David Heinemeier Hansson
023227d78d
Changed add_to_list_top and add_to_list_bottom to be public
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@405 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-14 01:24:57 +00:00
David Heinemeier Hansson
4cee51e1cc
Refactored ActiveRecord::Base#clone to use Base#attributes #463 [atyp]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@401 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-13 13:56:00 +00:00
David Heinemeier Hansson
8d5d7161eb
Remove length alias of size
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@396 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-11 22:36:16 +00:00
David Heinemeier Hansson
fe8fb574c0
Added a differenciation between AssociationCollection#size and -length. Now 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
2005-01-11 13:21:17 +00:00
David Heinemeier Hansson
45ea2bd452
Fixed the 4.11 changes to the mysql adapter
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@391 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-11 10:59:49 +00:00
David Heinemeier Hansson
b067bf7884
Added Base#attributes that returns a hash of all the attributes with their 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
2005-01-11 00:45:26 +00:00
David Heinemeier Hansson
79365a0184
Fixed that foreign keys named the same as the association would cause stack overflow #437 [Eric Anderson]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@382 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-11 00:24:19 +00:00
David Heinemeier Hansson
a971dc5e4a
Fixed default scope of acts_as_list from "1" to "1 = 1", so itll work in PostgreSQL (among other places) #427 [Alexey]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@380 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-11 00:13:42 +00:00
David Heinemeier Hansson
3ff5c5805f
Added Base#reload that reloads the attributes of an object from the database #422 [Andreas Schwarz]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@376 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-10 23:49:57 +00:00
David Heinemeier Hansson
a133f3e64f
Added SQLite3 compatibility through the sqlite3-ruby adapter by Jamis Buck #381 [bitsweat]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@374 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-10 23:09:51 +00:00
David Heinemeier Hansson
b9f28eb587
Added support for the new protocol spoken by MySQL 4.1.1+ servers for the 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
2005-01-10 22:52:14 +00:00
David Heinemeier Hansson
d5de666056
Added that Observers can use the observes class method instead of overwriting self.observed_class()
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@367 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-10 16:06:04 +00:00
David Heinemeier Hansson
38e55bac61
Added time unit extensions to Fixnum that'll return the period in seconds, like 2.days + 4.hours
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@365 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-10 13:14:50 +00:00
David Heinemeier Hansson
b64004fda6
Fixed that conditions in has_many and has_and_belongs_to_many should be interpolated just like the finder_sql is
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@344 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-07 03:55:24 +00:00
David Heinemeier Hansson
393e98a859
Fixed Base#update_attribute to be indifferent to whether a string or symbol is used to describe the name
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@341 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-06 02:36:33 +00:00
David Heinemeier Hansson
d1abe806c5
Added Base#toggle(attribute) and Base#toggle!(attribute) that makes it easier to flip a switch or flag. Added Base#increment!(attribute) and Base#decrement!(attribute) that also saves the records. Added Base#increment(attribute) and Base#decrement(attribute) that encapsulates the += 1 and -= 1 patterns.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@340 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-06 02:31:35 +00:00
David Heinemeier Hansson
2afdf01e5c
Minor tweak for readability
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@332 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-04 11:00:48 +00:00
David Heinemeier Hansson
6f711551d4
Fixed some thread safety issues with DB2
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@331 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-04 10:55:34 +00:00
David Heinemeier Hansson
d05fa50914
Fixed #406 for real
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@329 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-04 02:03:50 +00:00
David Heinemeier Hansson
f8bc7a4577
Fixed that validates_uniqueness_of used 'id' instead of defined primary key #406
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@328 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-04 01:23:38 +00:00
David Heinemeier Hansson
5ac11f2de3
Fixed that the overwritten respond_to? method didn't take two parameters like the original #391
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@327 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-03 23:24:31 +00:00
David Heinemeier Hansson
846f0d5ab6
Fixed that the overwritten respond_to? method didn't take two parameters like the original #391
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-03 23:23:02 +00:00
David Heinemeier Hansson
d9e900cd9d
Fixed the last details to please DB2
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@324 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-03 23:00:44 +00:00
David Heinemeier Hansson
609ca177fa
Added HasManyAssociation#count that works like Base#count #413 [intinig]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@318 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 18:44:55 +00:00
David Heinemeier Hansson
569f2ea85b
Added the possibility of specifying the remaining options for find_first and find_all with the new find_by/all_by* dynamic finders [danp]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@316 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 18:28:18 +00:00
David Heinemeier Hansson
3c141e12fc
DB2 driver shouldnt be looking for RubyGems stuff
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@314 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 15:53:00 +00:00
David Heinemeier Hansson
a18b3bf5c0
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@312 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 15:37:09 +00:00
David Heinemeier Hansson
089ef42520
Fixed handling of binary content in blobs and similar fields for Ruby/MySQL and SQLite #409 [xal]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@309 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 15:09:03 +00:00
David Heinemeier Hansson
959f362ac4
Added find_all style to the new dynamic finders
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@308 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 13:51:00 +00:00
David Heinemeier Hansson
ac8fd7dfb9
Added dynamic attribute-based finders as a cleaner way of getting objects by simple queries without turning to SQL.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@307 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 13:31:00 +00:00
David Heinemeier Hansson
93221685f1
Restored bind arity checking #412 [bitsweat]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@306 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-02 12:45:53 +00:00
David Heinemeier Hansson
6bd672eb0d
Added that Base#find takes an optional options hash, including :conditions. Base#find_on_conditions deprecated in favor of #find with :conditions #407 [bitsweat]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@305 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-01 19:50:23 +00:00
David Heinemeier Hansson
daf3e92a31
Added a db2 adapter that only depends on the Ruby/DB2 bindings ( http://raa.ruby-lang.org/project/ruby-db2/ ) #386 [Maik Schmidt]. Converted all the fixtures to YAML style ones.
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@303 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-01 19:22:16 +00:00
David Heinemeier Hansson
a6fefad354
Added the final touches to the Microsoft SQL Server adapter by DeLynn Berry that makes it suitable for actual use #394 [DeLynn Barry]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@302 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-01 18:55:04 +00:00
David Heinemeier Hansson
3e0077f54d
Fixed a bug in the Ruby/MySQL that caused binary content to be escaped badly and come back mangled #405 [Tobias Luetke]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@301 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-01 18:34:39 +00:00
David Heinemeier Hansson
cab2494563
Updated documentation for associations #387 [canadaduane]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@299 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-01 16:46:24 +00:00
David Heinemeier Hansson
7ad83b8df2
Added block-style for callbacks #332 [bitsweat]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@296 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-01-01 16:14:15 +00:00
David Heinemeier Hansson
fbf9281f0e
Added automated optimistic locking if the field lock_version is present #384 [Michael Koziarski]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@295 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-31 19:38:04 +00:00
David Heinemeier Hansson
f0a3397c47
Added :counter_cache option to acts_as_tree that works just like the one you can define on belongs_to #371 [Josh]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@291 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-31 16:53:41 +00:00
David Heinemeier Hansson
256d387159
Fixed quoting in validates_format_of that would allow some rules to pass regardless of input #390 [Dmitry V. Sabanin]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@288 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-31 16:42:25 +00:00
David Heinemeier Hansson
50562c2a7e
Restored thread safety to Active Record [andreas]
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@285 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-30 14:51:04 +00:00
David Heinemeier Hansson
3be52ef47c
Transactions are now actually working on the database level on save, but thread safety is currently out the window. Andreas is working on it
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@284 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-30 14:29:44 +00:00
David Heinemeier Hansson
fa1f5e062e
Switch dispatcher to use the new shared Dependencies approach
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@280 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-29 21:26:20 +00:00
David Heinemeier Hansson
595a4a591b
Rearranging dependencies
...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@279 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-29 21:19:37 +00:00