aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Model.select takes a variable list of arguments.Isaac Sanders2012-08-231-11/+12
| | | | | | This is a cleaner version of #6916. Closes #3165.
* Update the documentation for the :autosave optionDavid Celis2012-08-231-1/+3
| | | | | | | | | | | I've noticed a caveat with the :autosave option biting people before. Questions arise about why they must explicitly save an associated object in their own before_save callbacks. I've updated the documentation as such to note to users that the :autosave callback occurs before any user defined callbacks. They must save the associated record themselves if altering it in their own callbacks. Signed-off-by: David Celis <david@davidcelis.com>
* Merge pull request #6606 from amatsuda/ar_relation_model_methodRafael Mendonça França2012-08-211-0/+1
|\ | | | | AR::Relation#model would be a better API than AR::Relation#klass
| * AR::Relation#model would be a better API than AR::Relation#klassAkira Matsuda2012-06-031-0/+1
| |
* | Get rid of config.preload_frameworks in favor of config.eager_load_namespacesJosé Valim2012-08-212-0/+12
| | | | | | | | | | | | | | The new option allows any Ruby namespace to be registered and set up for eager load. We are effectively exposing the structure existing in Rails since v3.0 for all developers in order to make their applications thread-safe and CoW friendly.
* | reset_counters() was crashing when there were multiple belongs_to ↵Dave Desrochers2012-08-211-1/+1
| | | | | | | | | | | | associations with the same foreign key. This closes #5200.
* | Refactor AR::Result or inherits. Because we have redundant codes aboutkennyj2012-08-223-18/+4
| |
* | Use instance_accessor: false instead of instance_writer.kennyj2012-08-213-4/+14
| |
* | Round usec when writing timestamp attribute.kennyj2012-08-211-5/+14
| |
* | Minor refactoring in Active Record model schema methodsCarlos Antonio da Silva2012-08-211-5/+3
| | | | | | | | | | | | * Use each_key instead of generating intermediate keys array. * Use each_with_object instead of inject to build hash. * Use ternary to return instead of if + assignment.
* | initialize instance variables for transactions to remove conditionalsAaron Patterson2012-08-202-8/+7
| |
* | This method is useless without a block, so remove testAaron Patterson2012-08-201-11/+9
| |
* | remove unused variableAaron Patterson2012-08-201-1/+1
| |
* | initialize instance variables to avoid conditionalsAaron Patterson2012-08-201-2/+7
| |
* | fix whitespace errorsAaron Patterson2012-08-201-2/+2
| |
* | 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-172-6/+6
|/ / | | | | | | 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
| | |