aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
Commit message (Collapse)AuthorAgeFilesLines
* Allow Relation#merge to take a proc.Jon Leighton2012-08-031-0/+4
| | | | | | | | | | | | | | | | | | This was requested by DHH to allow creating of one's own custom association macros. For example: module Commentable def has_many_comments(extra) has_many :comments, -> { where(:foo).merge(extra) } end end class Post < ActiveRecord::Base extend Commentable has_many_comments -> { where(:bar) } end
* load active_support/deprecation in active_support/railsXavier Noria2012-08-022-2/+1
|
* load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-024-4/+0
|
* Do not consider the numeric attribute as changed if the old value isRafael Mendonça França2012-08-021-1/+14
| | | | | | | | | | | | | | | | | | | | | | | zero and the new value is not a string. Before this commit this was the behavior r = Review.find_by_issue(0) r.issue => 0 r.changes => {} r.issue = 0 => 0 r.changed? => true r.changes => {"issue"=>[0,0]} Fixes #7237 Conflicts: activerecord/CHANGELOG.md
* s/scoped/scope/Jon Leighton2012-08-011-1/+1
|
* Add CollectionProxy#scopeJon Leighton2012-08-011-0/+7
| | | | | | | | | | | | | | | | This can be used to get a Relation from an association. Previously we had a #scoped method, but we're deprecating that for AR::Base, so it doesn't make sense to have it here. This was requested by DHH, to facilitate code like this: Project.scope.order('created_at DESC').page(current_page).tagged_with(@tag).limit(5).scoping do @topics = @project.topics.scope @todolists = @project.todolists.scope @attachments = @project.attachments.scope @documents = @project.documents.scope end
* Add `Relation#load`Jon Leighton2012-08-011-0/+8
| | | | | | | | | | | | | This method explicitly loads the records and then returns `self`. Rather than deciding between "do I want an array or a relation?", most people are actually asking themselves "do I want to eager load or lazy load?" Therefore, this method provides a way to explicitly eager-load without having to switch from a `Relation` to an array. Example: @posts = Post.where(published: true).load
* Deprecate :finder_sql, :counter_sql, :insert_sql, :delete_sql.Jon Leighton2012-08-012-18/+49
|
* Revert "Remove :finder_sql, :counter_sql, :insert_sql, :delete_sql."Jon Leighton2012-08-013-2/+173
| | | | | | | | | This reverts commit 3803fcce26b837c0117f7d278b83c366dc4ed370. Conflicts: activerecord/CHANGELOG.md It will be deprecated only in 4.0, and removed properly in 4.1.
* AR::Relation#order: make new order prepend old oneBogdan Gusiev2012-07-314-13/+13
| | | | | | | User.order("name asc").order("created_at desc") # SELECT * FROM users ORDER BY created_at desc, name asc This also affects order defined in `default_scope` or any kind of associations.
* Remove the deprecation of update_column.Rafael Mendonça França2012-07-301-38/+17
| | | | | | update_column was suggested as replacement of update_attribute at the last release of 3-2-stable, so deprecating it now will confuse the users.
* Merge pull request #7196 from ↵Aaron Patterson2012-07-291-1/+5
|\ | | | | | | | | rimidl/fix-incorrect-require-mysql-in-mysql_rake_test Fix incorrect usage `require mysql` in the activerecord/.../mysql_rake_test
| * fix incorrect usage `require mysql` in the ↵Vladimir Strakhov2012-07-291-1/+5
| | | | | | | | activerecord/test/.../mysql_rake_test.rb
* | More polite cleanup for sqlite testsBogdan Gusiev2012-07-291-4/+4
|/
* Revert "Removing composed_of from ActiveRecord."Rafael Mendonça França2012-07-275-0/+422
| | | | | | | | | | | This reverts commit 14fc8b34521f8354a17e50cd11fa3f809e423592. Reason: we need to discuss a better path from this removal. Conflicts: activerecord/lib/active_record/reflection.rb activerecord/test/cases/base_test.rb activerecord/test/models/developer.rb
* Merge pull request #6827 from zephyr-dev/masterJosé Valim2012-07-271-0/+44
|\ | | | | Validates_presence_of associated object marked for destruction
| * AR has a subclass of AM:PresenceValidator.Brent Wheeldon & Nick Monje2012-07-201-0/+44
| | | | | | | | | | | | | | This allows us to mark the parent object as invalid if all associated objects in a presence validated association are marked for destruction. See: https://github.com/rails/rails/issues/6812
* | Deprecate Relation#all.Jon Leighton2012-07-272-5/+5
| | | | | | | | | | | | It has been moved to active_record_deprecated_finders. Use #to_a instead.
* | Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-2731-476/+476
| | | | | | | | | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* | ActiveRecord::Base.all returns a Relation.Jon Leighton2012-07-2728-305/+313
| | | | | | | | | | | | | | | | | | | | | | Previously it returned an Array. If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This is more explicit. In most cases this should not break existing code, since Relations use method_missing to delegate unknown methods to #to_a anyway.
* | Refactor ActiveRecord::Inheritance.base_class logicbeerlington2012-07-262-12/+30
| | | | | | | | | | | | | | | | | | Moved logic from class_of_active_record_descendant(class) to the base_class method. This method was confusing because it required an argument, but that argument was 'self'. Moved base_class tests to inheritance_test.rb and added some test coverage for some untested cases.
* | Merge pull request #6654 from stevecj/postgresql-auto-reconnect-2Aaron Patterson2012-07-251-0/+72
|\ \ | | | | | | Postgresql auto reconnect 2
| * | Stop being silly with formatting of method aliasing.Steve Jorgensen2012-07-161-3/+3
| | |
| * | Simulated & actual (manual/skipped) PostgreSQL auto-reconnection tests.Steve Jorgensen2012-07-161-0/+72
| | |
* | | Deprecate update_column in favor of update_columns.Rafael Mendonça França2012-07-2412-43/+64
| | | | | | | | | | | | Closes #1190
* | | Use update_columns to implemente the update_columnRafael Mendonça França2012-07-241-2/+36
| | |
* | | New #update_columns method.Sebastian Martinez2012-07-241-0/+57
| | |
* | | Restore connection_id on error.kennyj2012-07-231-0/+12
| | |
* | | rm unnecessary testJon Leighton2012-07-201-7/+0
| | | | | | | | | | | | | | | interpolation is no longer a thing separate from "normal" assoc conditions.
* | | rm redundant testJon Leighton2012-07-201-7/+0
| | | | | | | | | | | | now everything is converted to the new style, this is not needed
* | | Remove :finder_sql, :counter_sql, :insert_sql, :delete_sql.Jon Leighton2012-07-203-173/+2
| | |
* | | Merge pull request #7078 from kennyj/logging_query_planRafael Mendonça França2012-07-191-0/+10
|\ \ \ | | | | | | | | Log query plan when we use count_by_sql method.
| * | | Log query plan when we use count_by_sql method.kennyj2012-07-181-0/+10
| | | |
* | | | revert Default timestamps to non-nullDave Kroondyk2012-07-182-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 3dbedd2 added NOT NULL constraints to timestamps. Commit fcef728 started to revert this, but was incomplete. With this commit, 3dbedd2 should be fully reverted and timestamps will no longer default to NOT NULL.
* | | | Merge pull request #7028 from lexmag/join_table_indexesJosé Valim2012-07-181-3/+17
|\ \ \ \ | | | | | | | | | | Add indexes to create_join_table method
| * | | | Add join table migration generatorAleksey Magusev2012-07-181-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For instance, running rails g migration CreateMediaJoinTable artists musics:uniq will create a migration with create_join_table :artists, :musics do |t| # t.index [:artist_id, :music_id] t.index [:music_id, :artist_id], unique: true end
* | | | | AR::Integration must be included after AM::ConversionJohn Firebaugh2012-07-171-0/+6
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | Integration's definition of #to_param must override Conversion's. Otherwise, there is a regression from 3.1 in the behavior of a non-persisted AR::Base instance which nevertheless has an id.
* | | | Merge pull request #7076 from kennyj/fix_class_evalAaron Patterson2012-07-172-3/+3
|\ \ \ \ | | | | | | | | | | Fix class_eval without __FILE__ and __LINE__.
| * | | | Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-182-3/+3
| | |/ / | |/| |
* / | | Fixes "Cannot visit ..." with validates_uniqueness_ofbeerlington2012-07-171-0/+16
|/ / / | | | | | | | | | | | | | | | Fixes issue with overrding ActiveRecord reader methods with a composed object and using that attribute as the scope of a validates_uniqueness_of validation.
* | | Fix SqlBypass.data_column= problem. SqlBypass.find_by_session_id method ↵kennyj2012-07-151-0/+14
| | | | | | | | | | | | didn't use this assignment.
* | | teaching the mysql adapter how to typecast strings returned from the databaseAaron Patterson2012-07-131-2/+2
| | |
* | | fixing tests to deal with data differences between prepared statements and ↵Aaron Patterson2012-07-133-3/+8
| | | | | | | | | | | | | | | | | | | | | non-prepared statements Conflicts: activerecord/test/cases/query_cache_test.rb
* | | fix association :extend optionJon Leighton2012-07-132-3/+6
| | |
* | | stop using class_attribute where methods/inheritance will suffice.Jon Leighton2012-07-131-16/+0
| | |
* | | Represent association scope options as AR::Relations insternally.Jon Leighton2012-07-132-19/+38
| | |
* | | fix assertion arguments orderJon Leighton2012-07-131-2/+2
| | |
* | | Allow associations to take a lambda which builds the scopeJon Leighton2012-07-133-23/+30
| | |
* | | support relations created with a table aliasJon Leighton2012-07-131-0/+10
| | |
* | | Add teardown method to AR::Mig::RenameTableTestRobb Kidd2012-07-101-18/+13
| | | | | | | | | | | | | | | | | | | | | Dry up reseting the renamed table after each test. Also made use of the AR::Base.connection object already available from AR::MigrationTest#connection.