Commit Graph

74 Commits

Author SHA1 Message Date
David Heinemeier Hansson
2f3db152ec Made the last tweaks before 0.9
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@197 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 19:43:27 +00:00
David Heinemeier Hansson
f389a8fb5d Updated and added more documentation
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@193 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 17:14:41 +00:00
David Heinemeier Hansson
d2b75a083a Added Base.validates_inclusion_of
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@192 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 17:00:22 +00:00
David Heinemeier Hansson
f033833fb9 Improving documentation...
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@191 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 16:56:30 +00:00
David Heinemeier Hansson
6860db61f5 Renamed Mixins to Acts to resemble the change from include ActiveRecord::Mixins::List to acts_as_list and renamed @@default_error_messagess to @@default_error_messages
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@190 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 16:23:59 +00:00
David Heinemeier Hansson
c5d6aa2b18 Added option for turning off the automated timestamps
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@184 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-16 15:21:16 +00:00
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
fdd28592f6 Forgot to include Mixins::Touch by default
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@86 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-08 16:14:26 +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