aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/base.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* Finished polishing API docsDavid Heinemeier Hansson2005-02-231-52/+50
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@773 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Optimized the SQL used to generate has_and_belongs_to_many queries by ↵David Heinemeier Hansson2005-02-221-1/+1
| | | | | | listing the join table first #693 [yerejm] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@741 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that find_by_* would fail when column names had numbers #670 [demetrius]David Heinemeier Hansson2005-02-191-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@681 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that the dynamic finder like find_all_by_something_boolean(false) ↵David Heinemeier Hansson2005-02-181-1/+1
| | | | | | didn't work #649 [lmarlow@yahoo.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@666 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-151-3/+3
| | | | 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-071-9/+9
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@525 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-251-51/+20
| | | | | | 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
* 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 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-241-5/+7
| | | | | | 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-201-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@466 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
* Added support for associating unsaved objects #402 [Tim Bates]David Heinemeier Hansson2005-01-151-3/+3
| | | | | | | | | 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
* 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
* 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
* 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
* Fixed Base#update_attribute to be indifferent to whether a string or symbol ↵David Heinemeier Hansson2005-01-061-1/+1
| | | | | | is used to describe the name git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@341 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#toggle(attribute) and Base#toggle!(attribute) that makes it ↵David Heinemeier Hansson2005-01-061-6/+41
| | | | | | 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
* Fixed that the overwritten respond_to? method didn't take two parameters ↵David Heinemeier Hansson2005-01-031-2/+2
| | | | | | like the original #391 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added the possibility of specifying the remaining options for find_first and ↵David Heinemeier Hansson2005-01-021-8/+11
| | | | | | 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
* Added find_all style to the new dynamic findersDavid Heinemeier Hansson2005-01-021-4/+9
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@308 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added dynamic attribute-based finders as a cleaner way of getting objects by ↵David Heinemeier Hansson2005-01-021-0/+25
| | | | | | simple queries without turning to SQL. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@307 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Restored bind arity checking #412 [bitsweat]David Heinemeier Hansson2005-01-021-7/+8
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@306 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added that Base#find takes an optional options hash, including :conditions. ↵David Heinemeier Hansson2005-01-011-64/+68
| | | | | | 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
* Added a db2 adapter that only depends on the Ruby/DB2 bindings ↵David Heinemeier Hansson2005-01-011-3/+3
| | | | | | (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
* Added automated optimistic locking if the field lock_version is present #384 ↵David Heinemeier Hansson2004-12-311-0/+2
| | | | | | [Michael Koziarski] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@295 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Switch dispatcher to use the new shared Dependencies approachDavid Heinemeier Hansson2004-12-291-9/+0
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@280 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base.default_timezone accessor that determines whether to use ↵David Heinemeier Hansson2004-12-281-0/+5
| | | | | | Time.local (using :local) or Time.utc (using :utc) when pulling dates and times from the database. This is set to :local by default. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@271 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added the possibility for adapters to overwrite add_limit! to implement a ↵David Heinemeier Hansson2004-12-281-3/+5
| | | | | | different limiting scheme than "LIMIT X" used by MySQL, PostgreSQL, and SQLite. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@269 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed that Base.table_name would expect a parameter when used in ↵David Heinemeier Hansson2004-12-221-7/+2
| | | | | | has_and_belongs_to_many joins [Anna Lissa Cruz] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@244 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Switched strategy on the id_before_type_cast problem and just did an ↵David Heinemeier Hansson2004-12-201-1/+5
| | | | | | explicit method so postgresql wouldnt choke on id is null git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@234 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Pulling attributes_from_column_definition should set the primary id to nil ↵David Heinemeier Hansson2004-12-191-1/+1
| | | | | | instead of not at all git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@232 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Scrap thatDavid Heinemeier Hansson2004-12-191-1/+0
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@231 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Dont define respond_to? lookups for primary keyDavid Heinemeier Hansson2004-12-191-0/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@230 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* FormHelper should only use *_before_type_cast if they available on the modelDavid Heinemeier Hansson2004-12-191-0/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@229 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Changed the interface on AbstractAdapter to require that adapters return the ↵David Heinemeier Hansson2004-12-191-3/+3
| | | | | | number of affected rows on delete and update operations. Added that Base.update_all and Base.delete_all return an integer of the number of affected rows #341 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@228 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added respondence to *_before_type_cast for all attributes to return their ↵David Heinemeier Hansson2004-12-191-9/+14
| | | | | | string-state before they were type casted by the column type. Added use of *_before_type_cast for all input and text fields. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@215 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Base#update_attribute isnt subject to validationDavid Heinemeier Hansson2004-12-181-2/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@210 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Made Base#update_attributes actually workDavid Heinemeier Hansson2004-12-181-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added Base#update_attributes that'll accept a hash of attributes and save ↵David Heinemeier Hansson2004-12-171-1/+7
| | | | | | the record (returning true if it passed validation, false otherwise). Added a return value for Base#update_attribute, so that you get to know whether the save was successful or if it failed validation. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@207 5ecf4fe2-1ee6-0310-87b1-e25e094e27de