Commit Graph

47 Commits

Author SHA1 Message Date
Jeremy Kemper
cb7a17a9d0 Load database adapters on demand. Eliminates config.connection_adapters and RAILS_CONNECTION_ADAPTERS. Closes #8456.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6833 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-25 03:19:35 +00:00
David Heinemeier Hansson
8f614a80e7 Fix gem deprecation warnings, which also means depending on RubyGems 0.9.0+ [Chad Fowler]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6119 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-02-04 20:44:45 +00:00
David Heinemeier Hansson
fef2d880a5 Update copyright times
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4922 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-09-03 18:53:05 +00:00
Jeremy Kemper
2b3cc2478f r4854@ks: jeremy | 2006-07-30 00:59:18 -0700
Attribute methods
 r4877@ks:  jeremy | 2006-07-30 20:23:53 -0700
 Factor the attribute#{suffix} methods out of method_missing for easier extension.
 r4878@ks:  jeremy | 2006-07-30 20:42:23 -0700
 More specific method naming, declare many attribute method suffixes, set up default suffixes at module include rather than lazily.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4632 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-07-31 03:43:03 +00:00
Jeremy Kemper
722e0b6a8b r4664@asus: jeremy | 2006-06-19 18:55:36 -0700
Use the #lock method to obtain a row lock on a single record. Simply reloads the record with :lock => true.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4462 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-20 01:58:36 +00:00
Jeremy Kemper
e4254939aa r4663@asus: jeremy | 2006-06-19 17:23:57 -0700
ActiveRecord::Locking is now ActiveRecord::Locking::Optimistic (to make way for Pessimistic.)


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4461 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-20 01:58:27 +00:00
David Heinemeier Hansson
2e65e8ccc6 Refactored ActiveRecord::Base.to_xml to become a delegate for XmlSerializer, which restores sanity to the mega method. This refactoring also reinstates the opinions that type="string" is redundant and ugly and nil-differentiation is not a concern of serialization [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4431 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-06-04 00:33:52 +00:00
Marcel Molina
b2c0ddf033 Add support for FrontBase (http://www.frontbase.com/) with a new adapter thanks to the hard work of one Mike Laster. Closes #4093. [mlaster@metavillage.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4291 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-04-27 22:39:45 +00:00
David Heinemeier Hansson
416385a09d Added OpenBase database adapter that builds on top of the http://www.spice-of-life.net/ruby-openbase/ driver. All functionality except LIMIT/OFFSET is supported (closes #3528) [derrickspell@cdmplus.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3932 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-18 16:50:25 +00:00
David Heinemeier Hansson
6a3f4c932a Added Sybase database adapter that relies on the Sybase Open Client bindings (see http://raa.ruby-lang.org/project/sybase-ctlib) (closes #3765) [John Sheets]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3734 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-02 01:15:41 +00:00
David Heinemeier Hansson
631181ca18 Renamed the "oci" adapter to "oracle", but kept the old name as an alias (closes #4017) [schoenm@earthlink.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3718 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2006-03-01 16:01:53 +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
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
David Heinemeier Hansson
c7bdd00b86 Fixed RDoc warnings [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3228 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-12-08 03:23:31 +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
9cb02c5317 r3116@asus: jeremy | 2005-11-16 00:17:06 -0800
Introducing the Firebird adapter.  Closes #1874.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3052 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-11-16 08:18:13 +00:00
David Heinemeier Hansson
948be2c998 Added new symbol-driven approach to activating observers with Base#observer [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-25 08:26:29 +00:00
David Heinemeier Hansson
66820a4aa7 Just include activerecord/schema with AR so it doesnt need to be dumped
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2322 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-24 17:50:07 +00:00
Jamis Buck
7dc45818dc Add ActiveRecord::SchemaDumper for dumping a DB schema to a pure-ruby file, making it easier to consolidate large migration lists and port database schemas between databases.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2312 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-23 13:29:33 +00:00
David Heinemeier Hansson
40b7809de5 Added check for RAILS_CONNECTION_ADAPTERS on startup and only load the connection adapters specified within if its present (available in Rails through config.connection_adapters using the new config) #1958 [skae]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2248 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-15 06:40:39 +00:00
David Heinemeier Hansson
5dbf5ded5c Only attempt to require Active Support if it hasnt been already #1959
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2247 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-15 05:34:59 +00:00
Jamis Buck
361be5a7dd Removed the AR::Recursion module--it broke more code than it fixed
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1470 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-21 12:58:27 +00:00
Jamis Buck
e0537acaeb Added ActiveRecord::Recursion to guard against recursive calls to #save
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1411 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-13 10:52:53 +00:00
Jamis Buck
d79838fdcb Allow before/after update hooks to work on models with optimistic locking
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1400 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-11 10:06:47 +00:00
David Heinemeier Hansson
cce294fd71 Started work on a per-request query cache
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1267 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-02 07:04:20 +00:00
David Heinemeier Hansson
339f4956b3 Added acts_as_nested_set #1000 [wschenk]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1185 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-17 09:52:12 +00:00
David Heinemeier Hansson
6d566e82b4 Fixed rails_generator to be usable without RubyGems #686 [Cristi BALAN]. Moved all active support dependencies into active support
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@838 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-06 12:20:53 +00:00
David Heinemeier Hansson
eac7cf0b06 Added preliminary support for an agile database migration technique (currently only for MySQL)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@818 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-03-01 14:27:32 +00:00
David Heinemeier Hansson
f9fca1eb63 Moved TimeZone to Active Support
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@768 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-23 15:13:03 +00:00
David Heinemeier Hansson
10d458b0aa Added a OCI8-based Oracle adapter that has been verified to work with Oracle 8 and 9 #629 [Graham Jenkins]. Removed Maiks Oracle adapter until it can be merged with the OCI one.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@761 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-23 13:34:57 +00:00
David Heinemeier Hansson
6329daf5ac Added TimeZone as the first of a number of value objects that Active Record will start shipping to provide incentatives to use rich value objects using composed_of #688 [Jamis Buck]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@760 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-23 12:56:16 +00:00
David Heinemeier Hansson
0aad5abcc8 AR, AP, and AM should look for AS in sibling directory before trying RubyGems #648
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@648 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-17 19:04:47 +00:00
David Heinemeier Hansson
ca175ed7c9 All libraries should link against the independent active support
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@625 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-15 16:15:02 +00:00
David Heinemeier Hansson
dc3d6eb9b4 Moved Active Support into its own gem
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@624 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-15 15:57:44 +00:00
David Heinemeier Hansson
336c2cbb8f Added an Oracle adapter that works with the Oracle bindings by Yoshida (http://raa.ruby-lang.org/project/oracle/) #564 [Maik Schmidt]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@522 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-02-07 14:06:00 +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
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
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
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
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
David Heinemeier Hansson
b09829354f Fixed the automated timestamping feature when running under Rails' development environment that resets the inheritable attributes on each request.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@212 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-12-18 15:15:27 +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
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
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
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
ac3c8a54f8 Silence errors occurring when reloading classes
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@27 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-11-30 16:25:08 +00:00
David Heinemeier Hansson
db045dbbf6 Initial
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2004-11-24 01:04:44 +00:00