Commit Graph

67 Commits

Author SHA1 Message Date
David Heinemeier Hansson
87297f1c4b Added assumption that a Symbol-based scope should end in _id unless it does so already and that you can pass vanilla string-based scopes as a parameter
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@183 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 13:42:21 +00:00
David Heinemeier Hansson
2dbff3fbc0 Make it possible to use a regular scope string in addition to the symbol shortcut
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@181 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 13:22:57 +00:00
David Heinemeier Hansson
f296e117c6 Added Base.validates_inclusion_of that validates whether the value of the specified attribute is available in a particular enumerable object. [what-a-day]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@179 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 03:23:06 +00:00
David Heinemeier Hansson
d8a58eea11 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@177 5ecf4fe2-1ee6-0310-87b1-e25e094e27de 2004-12-16 03:01:11 +00:00
David Heinemeier Hansson
1f916a119c Added that Active Records will automatically record creation and/or update timestamps of database objects if fields of the names created_at/created_on or updated_at/updated_on are present. [Tobias Luetke] Added acts_as_tree that can decorates an existing class with a many to many relationship with itself. Added acts_as_list that can decorates an existing class with methods like move_higher/lower, move_to_top/bottom.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@176 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 02:49:18 +00:00
David Heinemeier Hansson
1579f3b45d Added Base.validates_format_of that Validates whether the value of the specified attribute is of the correct form by matching it against the regular expression provided. [Marcel]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@174 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 01:32:35 +00:00
David Heinemeier Hansson
01e9b7c305 Added Base.default_error_messages as a hash of all the error messages used in the validates_*_of so they can be changed in one place [Tobias Luetke]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@173 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 22:20:22 +00:00
David Heinemeier Hansson
7500a54692 Added automatic transaction block around AssociationCollection.<<, AssociationCollection.delete, and AssociationCollection.destroy_all
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@171 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 15:09:44 +00:00
David Heinemeier Hansson
846a1236bc Added Base.validates_boundries_of that delegates to add_on_boundary_breaking #312 [Tobias Luetke]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@166 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 12:29:08 +00:00
David Heinemeier Hansson
57ed93ee66 Fixed that Base#find will return an array if given an array -- regardless of the number of elements #270 [Marten]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@164 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 11:55:43 +00:00
David Heinemeier Hansson
d96e874e0f Insignificante...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@162 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 11:41:52 +00:00
David Heinemeier Hansson
0bb824b715 Changed validate_* to validates_*_of, so validate_acceptance becomes validates_acceptance_of, and added :on as a configuration option instead of using _on_create/update
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@157 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 01:36:05 +00:00
David Heinemeier Hansson
95314be65b Added tree mixin and unit tests for all the mixins
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@156 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-15 00:46:26 +00:00
David Heinemeier Hansson
0a8f382b80 Wrapped multi-step operations in transactions
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@155 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-14 18:17:44 +00:00
David Heinemeier Hansson
bc1aa7d9fd fixtures :models will now also attempt to include the model.rb file
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@153 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-14 18:01:28 +00:00
David Heinemeier Hansson
68d1056587 Fixed that has_and_belongs_to_many would generate bad sql when naming conventions differed from using vanilla "id" everywhere [RedTerror]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@152 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-14 13:55:17 +00:00
David Heinemeier Hansson
605bc77533 Added a better exception for when a type column is used in a table without the intention of triggering single-table inheritance. Added that single-table inheritance will only kick in if the inheritance_column (by default "type") is present. Otherwise, inheritance wont have any magic side effects
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@149 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-14 12:32:29 +00:00
David Heinemeier Hansson
2c5a2e7f2e Extended no inclusion of messages if theyre nil to base
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@144 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-13 19:25:33 +00:00
David Heinemeier Hansson
9b45e09b2a Fixed bug with reloading associations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@143 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-13 19:14:53 +00:00
David Heinemeier Hansson
81e3d06577 Moved methods into the main body as only wiring is needed in append_features
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@140 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-13 09:00:44 +00:00
David Heinemeier Hansson
df9276e8b9 Fixed that every successive call on the sqlite adapter prepended RAILS_ROOT again and again because RAILS_ROOT itself is the Windows absolute path which begins with the drive letter #294
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@139 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-12 22:19:48 +00:00
David Heinemeier Hansson
c9cc73d0e9 Added the possibility of marking fields as being in error without adding a message (using nil) to it thatll get displayed wth full_messages #208 [mjobin]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@135 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-12 19:46:16 +00:00
David Heinemeier Hansson
1314f48d68 Added methods for resetting the cached information on classes that you want to clear between requests in development mode
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@130 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-12 17:49:38 +00:00
David Heinemeier Hansson
1da6abaa3c No longer necessary to guard against reincludes with the new reset of inheritance variables
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@127 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-12 16:51:02 +00:00
David Heinemeier Hansson
8e1f1ee442 Moved require_association to associations.rb and added methods for resetting the inheritable attributes on subclasses
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@125 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-12 16:14:20 +00:00
David Heinemeier Hansson
0c72e6d665 Options for the new validation methods are now given as a hash
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@109 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-10 16:46:41 +00:00
David Heinemeier Hansson
aaf9a45ca9 Added Base.validate_uniqueness thatv alidates whether the value of the specified attributes are unique across the system. Useful for making sure that only one user can be named "davidhh".
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@108 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-10 16:02:11 +00:00
David Heinemeier Hansson
0b92b7de2f Added Base.validate_presence as an alternative to implementing validate and doing errors.add_on_empty yourself. Added _on_create and _on_update versions for all the new validations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@107 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-10 13:11:13 +00:00
David Heinemeier Hansson
c7589559de Tidied up Fixtures for better readability and some error checking [bitsweat]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@100 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 15:52:54 +00:00
David Heinemeier Hansson
8bf9ec6171 Fixed TIMESTAMP columns broken due to TIME handling patch
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@99 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 15:49:37 +00:00
David Heinemeier Hansson
5b983f6f6b Fixed Base.errors to be indifferent as to whether strings or symbols are used.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@98 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 15:06:24 +00:00
David Heinemeier Hansson
27ea0b527e Added Base.validate_confirmation that encapsulates the pattern of wanting to validate the acceptance of a terms of service check box (or similar agreement)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@97 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 14:37:37 +00:00
David Heinemeier Hansson
d33f814db5 Changed the Proc for a string to avoid repetition problems
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@96 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 14:04:58 +00:00
David Heinemeier Hansson
a65f791fbd Added Base.validate_confirmation that encapsulates the pattern of wanting to validate a password or email address field with a confirmation.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@95 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 13:37:11 +00:00
David Heinemeier Hansson
fc817eff44 Added validation macros to make the stackable just like the lifecycle callbacks
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@94 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-09 12:50:18 +00:00
David Heinemeier Hansson
cf6282099d A fix that actually works...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@91 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 17:44:31 +00:00
David Heinemeier Hansson
ac4a039a31 Callbacks added to the inheritable que should only be called once -- even as the definition is read again
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@90 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 17:39:44 +00:00
David Heinemeier Hansson
04d032ed43 scope_condition defaults to 1 on list mixin
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@89 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 17:25:06 +00:00
David Heinemeier Hansson
3fef016493 Cleaned up the class_eval stuff in the new mixins a bit
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@87 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 16:20:51 +00:00
David Heinemeier Hansson
7359bccece Added ActiveRecord::Mixins::Touch that will record creation and update times of objects [xal]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@85 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 16:13:04 +00:00
David Heinemeier Hansson
1cf7eb1ca8 Added ActiveRecord::Mixins::List that can decorates an existing class with methods like move_higher/lower, move_to_top/bottom
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@84 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 16:02:18 +00:00
David Heinemeier Hansson
55be0a3cb5 Renamed from ListMixin and mixins/list_mixin.rb to Mixins::List and mixin/list.rb
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@83 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 15:53:57 +00:00
David Heinemeier Hansson
2d483af0d7 Unofficially added ListMixin
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@82 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 15:39:22 +00:00
David Heinemeier Hansson
554597d657 Added named bind-style variable interpolation #281 [Michael Koziarski]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@78 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 10:38:10 +00:00
David Heinemeier Hansson
a775cb1903 Added the option for sanitizing find_by_sql and the offset parts in regular finds [Sam Stephenson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@75 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-07 21:14:20 +00:00
David Heinemeier Hansson
49403831fc Fixed value quoting in all generated SQL statements, so that integers are not surrounded in quotes and that all sanitation are happening through the database's own quoting routine. This should hopefully make it lots easier for new adapters that doesn't accept '1' for integer columns.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@70 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-07 14:48:53 +00:00
David Heinemeier Hansson
8a40c6b522 Fixed has_and_belongs_to_many guessing of foreign key so that keys are generated correctly for models like SomeVerySpecialClient [Florian Weber]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@69 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-07 12:33:42 +00:00
David Heinemeier Hansson
ea759cb761 Added counter_sql option for has_many associations [bitsweat]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@68 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-07 12:25:01 +00:00
David Heinemeier Hansson
8e4edec877 Fixed that methods wrapped in callbacks still return their original result #260 [bitsweat]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@65 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-07 12:10:57 +00:00
David Heinemeier Hansson
b4f4d038b9 Fixed the Inflector to handle the movie/movies pair correctly #261 [Scott Baron]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@60 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-07 11:15:41 +00:00