aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Restore state on create when ActiveRecord::RecordInvalid is raisedDave Yeu2012-08-113-1/+23
| | | | This fixes issue #3217.
* Sync CHANGELOGs [ci skip]Rafael Mendonça França2012-08-111-3/+83
|
* Added changelog entry for table name prefix fix [ci skip]Wojciech Wnętrzak2012-08-111-0/+3
|
* fixup guides in light of :dependent changesJon Leighton2012-08-101-7/+7
|
* Use method compilation for association methodsJon Leighton2012-08-1012-89/+86
| | | | | | | | | Method compilation provides better performance and I think the code comes out cleaner as well. A knock on effect is that methods that get redefined produce warnings. I think this is a good thing. I had to deal with a bunch of warnings coming from our tests, though.
* DRY up handling of dependent optionJon Leighton2012-08-105-63/+22
|
* Unprivatise all the thingsJon Leighton2012-08-107-170/+156
| | | | | | Well, not all of them, but some of them. I don't think there's much reason for these methods to be private.
* move dependency logic out of generated methodsJon Leighton2012-08-107-65/+64
|
* Clean up dependent option validation.Jon Leighton2012-08-104-14/+7
| | | | | We don't need the complexity of to_sentence, and it shouldn't be a bang method.
* Remove the dependent_restrict_raises option.Jon Leighton2012-08-1010-131/+87
| | | | | | | | | | | | | | | It's not really a good idea to have this as a global config option. We should allow people to specify the behaviour per association. There will now be two new values: * :dependent => :restrict_with_exception implements the current behaviour of :restrict. :restrict itself is deprecated in favour of :restrict_with_exception. * :dependent => :restrict_with_error implements the new behaviour - it adds an error to the owner if there are dependent records present See #4727 for the original discussion of this.
* Merge pull request #7286 from kennyj/fix_7191Rafael Mendonça França2012-08-102-13/+28
|\ | | | | Fix #7191. Remove unnecessary transaction when assigning has_one associations.
| * Fix #7191. Remove unnecessary transaction when assigning has_one associations.kennyj2012-08-082-13/+28
| |
* | Fix only-once stub logic.Steve Jorgensen2012-08-081-1/+1
| | | | | | | | | | Didn't fail the test because adapter#query happens to not call raw connection's #query, but don't want to count on that and have a fragile test.
* | Fix just-plain-wrongness of psql auto-reconnect test.Steve Jorgensen2012-08-071-8/+9
|/ | | | | | Full test requiring manual intervention was fine, but w/ simulated disconnect, assertion was backward & still passing. Was several kinds of wrong.
* Merge pull request #7140 from seamusabshere/patch-1Rafael Mendonça França2012-08-052-2/+7
|\ | | | | | | | | Make sure :environment task is executed before db:schema:load or db:structure:load
| * Update changelogRafael Mendonça França2012-08-051-0/+5
| |
| * Make sure :environment task is executed before db:schema:load or ↵Seamus Abshere2012-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db:structure:load Otherwise, if schema_format = :sql, you will see: $ rake db:setup --trace ** Invoke db:setup (first_time) ** Invoke db:schema:load_if_ruby (first_time) ** Invoke db:create (first_time) ** Invoke db:load_config (first_time) ** Invoke rails_env (first_time) ** Execute rails_env ** Execute db:load_config ** Execute db:create db_example_development already exists db_example_test already exists ** Execute db:schema:load_if_ruby #<-------- :environment hasn't been executed yet ** Invoke db:schema:load (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:schema:load ~/db_example/db/schema.rb doesn't exist yet. Run `rake db:migrate` to create it then try again.
* | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-069-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* | Changing AR:CollectionAssociation#empty? to use #exists?beerlington2012-08-051-3/+11
| | | | | | | | | | COUNT(*) queries can be slow in PostgreSQL, #exists? avoids this by selecting a single record.
* | Remove warning: `*' interpreted as argument prefixArun Agrawal2012-08-051-1/+1
| |
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-042-44/+64
|\ \ | | | | | | | | | | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * | Revert "Fix string interpolation in belongs_to docs"Vijay Dev2012-08-041-1/+1
| | | | | | | | | | | | This reverts commit 3fb0100ef893b8cf229e82ce264b426e0c961eb1.
| * | Fix string interpolation in belongs_to docsFranco Catena2012-08-011-1/+1
| | |
| * | fix ActiveRecord::Associations::CollectionProxy documentationAccessd2012-07-311-1/+1
| | |
| * | update AR::Validations::AssociatedValidator documentation [ci skip]Francesco Rodriguez2012-07-291-13/+19
| | |
| * | update AR::Validations::UniquenessValidator documentation [ci skip]Francesco Rodriguez2012-07-291-31/+45
| | |
| * | Revert "Removed reference to composed_of."Rafael Mendonça França2012-07-271-0/+3
| | | | | | | | | | | | | | | | | | This reverts commit c34c1916d1d6cd6ba219aa39eb97fa2e77c4c61f. Reason: composed_of was added from now to discuss better
| * | Removed reference to composed_of.Steve Klabnik2012-07-231-3/+0
| | | | | | | | | | | | | | | It was previously removed from the code, so we shouldn't mention it in the docs
* | | Update Migration Docs: Defaults for Boolean FieldsThomas Klemm2012-08-041-1/+1
| | | | | | | | | A Boolean field will accept true or false as defaults instead of 0 / 1.
* | | Make ActiveRecord::Model::DeprecationProxy work betterJon Leighton2012-08-033-22/+55
| | | | | | | | | | | | Closes #6600
* | | Update the docs to reflect the new association APIJon Leighton2012-08-031-190/+80
| | |
* | | Don't eager load all thisSantiago Pastorino2012-08-031-32/+33
| | | | | | | | | | | | | | | Some are loaded from Base which is loaded when a model inherits from it and some others are used in rake tasks
* | | Remove ActiveRecord::Base.to_aJon Leighton2012-08-0317-63/+54
| | | | | | | | | | | | | | | On reflection, it seems like a bit of a weird method to have on ActiveRecord::Base, and it shouldn't be needed most of the time anyway.
* | | reinstate changelog that seems to have been accidentally deleted o_OJon Leighton2012-08-031-0/+19
| | |
* | | Allow Relation#merge to take a proc.Jon Leighton2012-08-033-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Remove `:rails_env` task since it is not needed anymore.Rafael Mendonça França2012-08-021-9/+9
| | |
* | | load active_support/deprecation in active_support/railsXavier Noria2012-08-0216-16/+1
| | |
* | | load active_support/core_ext/module/delegation in active_support/railsXavier Noria2012-08-028-8/+0
| | |
* | | load active_support/core_ext/class/attribute in active_support/railsXavier Noria2012-08-0212-12/+0
| | |
* | | load active_support/concern in active_support/railsXavier Noria2012-08-0211-11/+0
| | |
* | | load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-0212-12/+0
| | |
* | | load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-0220-20/+0
| | |
* | | defines a private require-hub active_support/railsXavier Noria2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is a private place to put those AS features that are used by every component. Nowadays we cherry-pick individual files wherever they are used, but that it is not worth the effort for stuff that is going to be loaded for sure sooner or later, like blank?, autoload, concern, etc.
* | | Do not consider the numeric attribute as changed if the old value isRafael Mendonça França2012-08-022-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-019-27/+33
| | |
* | | Add CollectionProxy#scopeJon Leighton2012-08-013-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Use explicit delegationsJon Leighton2012-08-011-119/+79
| | | | | | | | | | | | | | | | | | | | | This makes it easier to see what the documentation refers to. It also means that we are not doing unnecessary work for delegations that have no args / splats / block / etc.
* | | Refactor a bitJon Leighton2012-08-011-38/+37
| | | | | | | | | | | | | | | This doesn't change the exernal behavior, but it moves some code around to where I think it properly belongs.
* | | Add `Relation#load`Jon Leighton2012-08-013-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-019-45/+118
| | |