Commit Graph

225 Commits

Author SHA1 Message Date
Rick Olson
6636eb16c5 Fixed issue that kept :select options from being scoped [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4036 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-26 00:36:55 +00:00
David Heinemeier Hansson
1aff68d615 Fix bug introduced by changeset 3679 which caused custom attribute? methods to be overridden. Also ensure that ? methods are defined even if read method is customised. (closes #3677) [jonathan@bluewire.net.nz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4002 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-20 06:45:34 +00:00
Rick Olson
def746030c Added Base.abstract_class? that marks which classes are not part of the Active Record hierarchy. closes #3704
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3882 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-16 02:46:01 +00:00
Michael Koziarski
c42cd3c383 make save! return true on success[johan@johansorensen.com]. Closes #4173
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3871 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-15 02:32:14 +00:00
Jeremy Kemper
25fb2db409 Dynamically set allow_concurrency. Closes #4044.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3862 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-13 17:28:55 +00:00
David Heinemeier Hansson
51d6bc2807 Passing comment
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3835 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-10 17:28:21 +00:00
David Heinemeier Hansson
3442e0c671 Added options to control the :only/:except for included associations on Base#to_xml [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3832 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-10 03:50:00 +00:00
David Heinemeier Hansson
db37c0c95f Added association inclusion in to_xml [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3831 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-10 00:25:29 +00:00
David Heinemeier Hansson
d872281975 Fixed to_xml across the board to use nice indention, better skip_attributes workings, no type on strings, and cleaned tests [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3829 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-09 21:12:28 +00:00
David Heinemeier Hansson
c450a36f16 Doc fixes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3782 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-05 21:37:12 +00:00
David Heinemeier Hansson
ccfcd9fe22 Doc fixes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3780 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-05 20:00:04 +00:00
Jeremy Kemper
215852745b Revert allow_concurrency change for better testing. Retrieve_connection in two steps to avoid side-effect bug (yuk).
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3745 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-02 14:36:06 +00:00
Jeremy Kemper
d8641ca34f CHANGED DEFAULT: set ActiveRecord::Base.allow_concurrency to false. Most AR usage is in single-threaded applications.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3728 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-01 22:04:30 +00:00
David Heinemeier Hansson
4c7555aef7 Fixed that Base.save should always return false if the save didn't succeed, including if it has halted by before_save's (closes #1861, #2477) [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3707 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-28 20:37:21 +00:00
Jeremy Kemper
1a06d324df Define attribute query methods to avoid method_missing calls. Closes #3677.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-27 00:27:48 +00:00
David Heinemeier Hansson
660952e5b0 CHANGED DEFAULT: ActiveRecord::Base.schema_format is now :ruby by default instead of :sql. This means that we'll assume you want to live in the world of db/schema.rb where the grass is green and the girls are pretty. If your schema contains un-dumpable elements, such as constraints or database-specific column types, you just got an invitation to either 1) patch the dumper to include foreign key support, 2) stop being db specific, or 3) just change the default in config/environment.rb to config.active_record.schema_format = :sql -- we even include an example for that on new Rails skeletons now. Brought to you by the federation of opinionated framework builders! [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3678 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-27 00:23:49 +00:00
David Heinemeier Hansson
1215d54c2f Added support for nested scopes (closes #3407) [anna@wota.jp]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3671 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-26 20:12:09 +00:00
David Heinemeier Hansson
3d0a9ff437 Aesthetics, baby
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3658 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-26 00:41:01 +00:00
David Heinemeier Hansson
5e99422d61 Updated docs (closes #3799) [ruby@bobsilva.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3651 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-25 23:33:08 +00:00
David Heinemeier Hansson
99307b959b Added calculations: Base.count, Base.average, Base.sum, Base.minimum, Base.maxmium, and the generic Base.calculate. All can be used with :group and :having. Calculations and statitics need no longer require custom SQL. #3958 [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3646 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-25 23:06:04 +00:00
Jeremy Kemper
c7d6d68f91 Reflections don't attempt to resolve module nesting of association classes. Simplify type computation.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3637 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-22 18:44:14 +00:00
David Heinemeier Hansson
377bdd02b9 Added :count option to pagination that'll make it possible for the ActiveRecord::Base.count call to using something else than * for the count. Especially important for count queries using DISTINCT #3839 [skaes]. Added :select option to Base.count that'll allow you to select something else than * to be counted on. Especially important for count queries using DISTINCT (closes #3839) [skaes].
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3620 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-20 03:15:22 +00:00
Michael Koziarski
d49a5fcb4c * Fix pagination problems when using include
* Introduce Unit Tests for pagination
* Allow count to work with :include by using count distinct.

[Kevin Clark & Jeremy Hopple]


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3553 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-09 09:17:40 +00:00
David Heinemeier Hansson
ed080863d5 Just go with Subclasses instead of OnlySubclasses
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3533 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-04 06:11:42 +00:00
Nicholas Seckar
1129e5b915 Remove definition of reloadable? from ActiveRecord::Base to make way for new Reloadable code.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3523 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-02 06:13:18 +00:00
Nicholas Seckar
1bce58b312 Add Reloadable::OnlySubclasses which handles the common case where a base class should not be reloaded, but its subclasses should be.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3521 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-02-02 05:41:00 +00:00
David Heinemeier Hansson
01b1a87729 Added reusable reloading support through the inclusion of the Relodable module that all subclasses of ActiveRecord::Base, ActiveRecord::Observer, ActiveController::Base, and ActionMailer::Base automatically gets [DHH]. Added auto-loading support for classes in modules, so Conductor::Migration will look for conductor/migration.rb and Conductor::Database::Settings will look for conductor/database/settings.rb [Nicholas Seckar]. Refactored extensions to module, class, and object in active support [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3493 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-29 00:37:39 +00:00
Marcel Molina
297618bddc Make dynamic finders honor additional passed in :conditions. Closes #3569.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3463 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-22 09:34:41 +00:00
Jamis Buck
d2f47503f8 Add AR::Base.base_class for querying the ancestor AR::Base subclass [Jamis Buck]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3439 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-20 20:43:40 +00:00
Michael Koziarski
f41feb349c Don't alter the Hash passed to attributes=, closes #3385
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3417 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-14 08:26:20 +00:00
Tobias Lütke
16718e3e21 Fixed that .with_scope imposed create parameters bypass attr_protected
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3393 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-10 22:15:49 +00:00
Marcel Molina
945dd920ab Don't raise an exception when there are more keys than there are named bind variables when sanitizing conditions.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3382 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-05 21:40:15 +00:00
Marcel Molina
bbec3ae512 Sanitize scoped conditions.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3379 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-01-04 03:43:28 +00:00
Tobias Lütke
d4e02f755d ActiveRecord::Base.schema_ignore_tables => ActiveRecord::SchemaDumper.ignore_tables
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3347 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-24 17:31:26 +00:00
Tobias Lütke
87535f50e9 SchemaDumper now doesn't fail anymore when there are unknown column types in the schema. Instead the table is ignored and a Comment is left in the schema.rb also added ActiveRecord::Base.schema_ignore_tables for dealing with funky tables like the tesearch2 ones.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3346 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-24 16:55:55 +00:00
David Heinemeier Hansson
43f6643b8b Fix form_for use of datetime_select and date_select as well as a few stylistic upgrades to AR
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3330 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-21 06:16:42 +00:00
Tobias Lütke
90099e9dc2 made .find() and class method delegation work on :through relations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3325 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-20 21:20:35 +00:00
Jeremy Kemper
d496db1388 Reloading an instance refreshes its aggregations as well as its associations. References #3024.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3242 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-08 04:46:57 +00:00
Jeremy Kemper
3ed6675c68 Clear the connection cache entry when a new connection is established on the same class.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3222 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-05 21:48:23 +00:00
Jeremy Kemper
dc64887f21 Connection cache to speed up retrieve_connection and get rid of dirty connection marking. References #428.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3218 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-04 05:56:49 +00:00
David Heinemeier Hansson
6abda696b5 Added preliminary support for join models [DHH] Added preliminary support for polymorphic associations [DHH] Refactored associations to use reflections to get DRYer, beware, major refactoring -- double check before deploying anything with this (all tests pass, but..)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3213 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-03 04:29:55 +00:00
Jeremy Kemper
81c5242f43 r3181@asus: jeremy | 2005-11-19 02:52:24 -0800
Mark connections for verification.  Retrieve connection verifies before returning a connection.  Verification tests whether the connection is marked then reconnects if the connection is inactive.  All active connections are marked for verification after a request is handled.  References #428.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3096 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-19 10:55:11 +00:00
Jeremy Kemper
b51c3399eb Don't generate read methods for columns whose names are not valid ruby method names. References #2946.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-19 06:47:26 +00:00
Jeremy Kemper
2076dca63f r3095@asus: jeremy | 2005-11-15 22:40:51 -0800
Ticket #1874 - Firebird adapter
 r3107@asus:  jeremy | 2005-11-16 00:06:14 -0800
 quote column aliases
 r3108@asus:  jeremy | 2005-11-16 00:08:12 -0800
 quote columns in construct_conditions_from_arguments.  update sequence_name docs.  introduce prefetched primary keys.
 r3109@asus:  jeremy | 2005-11-16 00:09:08 -0800
 double-quote rather than single-quote sqlite columns
 r3110@asus:  jeremy | 2005-11-16 00:09:56 -0800
 quote column names and use attribute_condition in validates_uniqueness_of
 r3111@asus:  jeremy | 2005-11-16 00:12:24 -0800
 Use QUOTED_TYPE constant in tests
 r3112@asus:  jeremy | 2005-11-16 00:13:28 -0800
 restrict test_inserts_with_pre_and_suffix to those adapters which support migrations
 r3113@asus:  jeremy | 2005-11-16 00:14:09 -0800
 Use QUOTED_TYPE constant in tests
 r3114@asus:  jeremy | 2005-11-16 00:14:30 -0800
 Use QUOTED_TYPE constant in tests


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3051 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-16 08:16:54 +00:00
Jeremy Kemper
090bfcec60 Correct documentation for Base.delete_all. References #1568.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3021 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-14 07:41:17 +00:00
Jeremy Kemper
7c8f3edc99 r4325@asus: jeremy | 2005-11-12 03:57:46 -0800
PostgreSQL: correctly discover custom primary key sequences.  PostgreSQL: smarter sequence name defaults, stricter last_insert_id, warn on pk without sequence.  Base.reset_sequence_name analogous to reset_table_name (mostly useful for testing).  Base.define_attr_method allows nil values.  References #2594.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2985 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-12 11:59:54 +00:00
Jeremy Kemper
80b8b76091 Update docs for AR::Base#clone.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2975 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-10 18:53:31 +00:00
Jeremy Kemper
3309268120 Add :group option, correspond to GROUP BY, to the find method and to the has_many association. Closes #2818.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2974 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-10 16:36:01 +00:00
Jeremy Kemper
390e6d246c r2915@asus: jeremy | 2005-11-06 05:02:53 -0800
Rename Base.constrain to Base.with_scope so it doesn't conflict with existing concept of database constraints.  Make scoping more robust: uniform method => parameters, validated method names and supported finder parameters, raise exception on nested scopes.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2888 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-06 10:18:51 +00:00
David Heinemeier Hansson
a5a82d978b Added extension capabilities to has_many and has_and_belongs_to_many proxies [DHH] Added find_or_create_by_X as a second type of dynamic finder that'll create the record if it doesn't already exist [DHH] Added constrain scoping for creates using a hash of attributes bound to the :creation key [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2872 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-04 19:39:50 +00:00