aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Remove private verify readonly attr methodCarlos Antonio da Silva2012-08-191-5/+1
| | | | | | | | | | This method was added to be shared between update_attribute and update_column in 50725cec397d4fa0ecf1dda4e6ae845a993f1ba7, but since update_attribute was removed, and update_column has changed to delegate to update_columns, the method is not used anywhere anymore. Also remove "key.to_s" conversion when raising readonly error, since the key is being interpolated.
* Fix "last equality wins" logic in relation mergeErnie Miller2012-08-191-10/+5
| | | | | | This is a real fix (as compared to the band-aid in b127d86c), which uses the recently-added equality methods for ARel nodes. It has the side benefit of simplifying the merge code a bit.
* Merge pull request #7377 from ↵Carlos Antonio da Silva2012-08-181-1/+1
|\ | | | | | | | | brainopia/use_inversed_parent_for_first_and_last_child Use inversed parent for first and last child of has_many association
| * Use inversed parent for first and last child of has_many associationbrainopia2012-08-181-1/+1
| |
* | Get rid of some arguments by using the accessorsCarlos Antonio da Silva2012-08-181-30/+31
| | | | | | | | | | Cleans up a lot of noise from arguments being passed from one method to another.
* | Move multiparameter attribute logic to a classCarlos Antonio da Silva2012-08-181-72/+84
| | | | | | | | | | This should make it easier to refactor and improve this code, and remove complexity with params going around here and there.
* | Some more cleanup to use Hash#values_at, and some method docsCarlos Antonio da Silva2012-08-181-3/+7
| |
* | Use cached column information to instantiate time objectCarlos Antonio da Silva2012-08-181-6/+6
| |
* | Refactor blank date parameter validationCarlos Antonio da Silva2012-08-181-2/+6
| |
* | Refactor missing parameter validation based on positionCarlos Antonio da Silva2012-08-181-7/+12
| |
* | Reuse already fetched column to check for :timeCarlos Antonio da Silva2012-08-181-5/+6
| | | | | | | | | | Avoid doing a new column lookup for the attribute, since we already have the column to check for the klass.
* | Refactor some code in multiparameter assignmentCarlos Antonio da Silva2012-08-181-26/+25
| | | | | | | | | | Move some methods to the top to better organize them, since they're used right at the beginning of the multiparameter assignment method chain.
* | Extract nested parameter assignment to a separate methodCarlos Antonio da Silva2012-08-181-3/+6
|/
* Merge pull request #7380 from ↵Aaron Patterson2012-08-171-2/+5
|\ | | | | | | | | ernie/fix-nomethoderror-on-non-attribute-equalities Fix merge error when Equality LHS is non-attribute
| * Fix merge error when Equality LHS is non-attributeErnie Miller2012-08-171-2/+5
| | | | | | | | | | | | | | | | | | This is at best a band-aid for a more proper fix, since it won't truly handle the removal of the previous equality condition of these other nodes. I'm planning to put in some work on ARel toward supporting that goal. Related: rails/arel#130, ernie/squeel#153, ernie/squeel#156
* | Pull more serialize code into a lazy included moduleJon Leighton2012-08-171-60/+63
| |
* | don't call method unless we need toJon Leighton2012-08-171-1/+1
| |
* | align them assignmentsJon Leighton2012-08-171-4/+4
| |
* | Optimize for the happy pathJon Leighton2012-08-171-11/+14
| | | | | | | | | | | | Checking respond_to? incurs overhead, and most of the time when assigning attributes it will return true. So just handle the NoMethodError instead.
* | Avoid #any?Jon Leighton2012-08-171-1/+1
| | | | | | | | | | | | any? will check that each item in the array is truthy, as opposed to !empty? which will simply check that the array has length. For an empty array, !empty? still seems to be faster than any?
* | The default value can be set once in #column_defaultsJon Leighton2012-08-172-9/+16
| | | | | | | | Rather than doing it every time an instance is instantiated.
* | Optimize instantiation for models which don't use serializeJon Leighton2012-08-171-13/+20
| | | | | | | | Those z's were hard to type.
* | Avoid deep_dup when intantiating.Jon Leighton2012-08-171-2/+5
| | | | | | | | | | deep_dup is slow. we only need to dup the values, so just do that directly.
* | column default extraction should handle newlines.Aaron Patterson2012-08-171-2/+2
| | | | | | | | Fixes #7374
* | Merge pull request #7352 from aripollak/microsecond-timestampRafael Mendonça França2012-08-171-2/+2
|\ \ | |/ |/| Fix occasional microsecond conversion inaccuracy
| * Fix occasional microsecond conversion inaccuracyAri Pollak2012-08-151-2/+2
| | | | | | | | | | | | | | | | | | ActiveRecord::ConnectionAdapters::Column#microseconds did an unnecessary conversion to from Rational to float when calculating the integer number of microseconds. Some terminating decimal numbers in base10 are repeating decimal numbers in base2 (the format of float), and occasionally this causes a rounding error. Patch & explanation originally from Logan Bowers.
* | Renaming active_record_deprecated_finders to activerecord-deprecated_findersJon Leighton2012-08-171-5/+5
|/ | | | For consistency with the other AR extension plugins we are creating.
* Merge pull request #7133 from roshats/fix_update_all_with_blank_argumentCarlos Antonio da Silva2012-08-151-1/+3
|\ | | | | | | Change Relation#update_all with blank argument to raise an ArgumentError instead of trying an update with empty fields.
| * raise ArgumentError if list of attributes to change is empty in update_allRoman Shatsov2012-08-141-1/+3
| |
* | Restore state on create when ActiveRecord::RecordInvalid is raisedDave Yeu2012-08-111-1/+1
| | | | | | | | This fixes issue #3217.
* | fixup guides in light of :dependent changesJon Leighton2012-08-101-7/+7
| |
* | Use method compilation for association methodsJon Leighton2012-08-105-64/+62
| | | | | | | | | | | | | | | | | | 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-105-43/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix #7191. Remove unnecessary transaction when assigning has_one associations.kennyj2012-08-081-13/+15
| |
* | Merge pull request #7140 from seamusabshere/patch-1Rafael Mendonça França2012-08-051-2/+2
|\ \ | | | | | | | | | | | | Make sure :environment task is executed before db:schema:load or db:structure:load
| * | 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-065-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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