aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | push module building to the constructorAaron Patterson2013-08-011-14/+20
| | | |
* | | | users should be warned if clobbering constantsAaron Patterson2013-08-011-3/+1
| | | |
* | | | defning extensions happens once, no need to cacheAaron Patterson2013-08-011-5/+3
| | | |
* | | | assert that constants have been set rather than the namesAaron Patterson2013-08-011-3/+3
| | | |
* | | | remove dead codeAaron Patterson2013-08-011-4/+0
| | | |
* | | | pushing out more callback definitionsAaron Patterson2013-08-011-2/+6
| | | |
* | | | push more mutations out of the builderAaron Patterson2013-08-012-12/+15
| | | | | | | | | | | | | | | | | | | | `configure_dependency` actually defined callbacks, so rename the method and move it to the appropriate method.
* | | | remove dependency on @model when defining callbacksAaron Patterson2013-08-012-8/+8
| | | |
* | | | extract more mutations to the callerAaron Patterson2013-08-012-13/+16
| | | |
* | | | separate some mutations from reflection constructionAaron Patterson2013-08-012-6/+6
| |/ / |/| |
* | | oops! :bomb:Aaron Patterson2013-07-311-1/+1
| | |
* | | do is_a? tests on assignment so runtime is fasterAaron Patterson2013-07-312-9/+12
| | |
* | | Revert "all `scope_chain` methods allocate new arrays, no need to dup"Aaron Patterson2013-07-311-1/+1
| | | | | | | | | | | | This reverts commit 1468a4b89aa4bca99160bfa03572b2c0ab348db5.
* | | callback should always have a valueAaron Patterson2013-07-311-1/+1
| | |
* | | no need to to_symAaron Patterson2013-07-312-2/+2
| | |
* | | pass the mixin in to the code generation methodsAaron Patterson2013-07-313-11/+11
| | |
* | | we should not allow invalid objects to be constructedAaron Patterson2013-07-311-1/+2
| | |
* | | push some validation up to the factory methodAaron Patterson2013-07-311-4/+5
| | |
* | | use bind values for model typesAaron Patterson2013-07-311-2/+3
| | |
* | | Merge pull request #11606 from vipulnsward/refactor_array_parserRafael Mendonça França2013-07-301-15/+22
|\ \ \ | | | | | | | | Refactor `ArrayParser`
| * | | Refactor `ArrayParser`Vipul A M2013-07-261-15/+22
| | | | | | | | | | | | | | | | | | | | * Constantize parse token * Remove extra param passed to `parse_data`
* | | | all `scope_chain` methods allocate new arrays, no need to dupAaron Patterson2013-07-301-1/+1
| | | |
* | | | Merge branch 'revert-order-prepending'Rafael Mendonça França2013-07-301-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md
| * | | | Revert change on ActiveRecord::Relation#order method that prepends newRafael Mendonça França2013-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | order on the old ones The previous behavior added a major backward incompatibility since it impossible to have a upgrade path without major changes on the application code. We are taking the most conservative path to be consistent with the idea of having a smoother upgrade on Rails 4. We are reverting the behavior for what was in Rails 3.x and, if needed, we will implement a new API to prepend the order clauses in Rails 4.1.
* | | | | Merge pull request #10673 from sgrif/masterRafael Mendonça França2013-07-293-35/+74
|\ \ \ \ \ | |/ / / / |/| | | | Add ability to specify how a class is converted to Arel predicate when passed to where
| * | | | Add ability to specify how a class is converted to Arel predicatesgrif2013-07-283-35/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the ability for rails apps or gems to have granular control over how a domain object is converted to sql. One simple use case would be to add support for Regexp. Another simple case would be something like the following: class DateRange < Struct.new(:start, :end) def include?(date) (start..end).cover?(date) end end class DateRangePredicate def call(attribute, range) attribute.in(range.start..range.end) end end ActiveRecord::PredicateBuilder.register_handler(DateRange, DateRangePredicate.new) More complex cases might include taking a currency object and converting it from EUR to USD before performing the query. By moving the existing handlers to this format, we were also able to nicely refactor a rather nasty method in PredicateBuilder.
* | | | | only calculate the klass onceAaron Patterson2013-07-291-1/+2
|/ / / /
* | | | Avoid "uninitialized constant ActiveRecord::PendingMigrationError::Rails"Akira Matsuda2013-07-291-1/+1
| | | |
* | | | rake -> bin/rakeSteve Klabnik2013-07-241-1/+1
|/ / /
* | | Fix indentation.kennyj2013-07-241-8/+8
| | |
* | | Simplify select_one method.kennyj2013-07-241-2/+1
| | | | | | | | | | | | | | | | | | The select_all method always returns ActiveRecord::Result instance, and the ActiveRecord::Result includes Enumerable mixin. If #empty?, #first method returns nil. Thus we can simplify this method.
* | | Refactor to use flat_mapCarlos Antonio da Silva2013-07-231-3/+3
| | |
* | | oops!Aaron Patterson2013-07-231-1/+1
| | |
* | | eliminate conditional in JoinHelperAaron Patterson2013-07-232-2/+2
| | |
* | | acually get the actual source reflection :cry::gun:Aaron Patterson2013-07-231-7/+14
| | |
* | | stop relying on side effects of const_missingAaron Patterson2013-07-231-7/+7
| | |
* | | add a specific factory method rather than using newAaron Patterson2013-07-239-13/+11
| | |
* | | factory methods should not have side effects.Aaron Patterson2013-07-233-8/+11
| | | | | | | | | | | | Move model mutation to the methods that are called on the model.
* | | extract mutation from generation methodAaron Patterson2013-07-232-4/+6
| | |
* | | habtm can only ever be an association reflectionAaron Patterson2013-07-221-2/+4
| | |
* | | use the predicate methodAaron Patterson2013-07-221-1/+1
| | |
* | | AR::Base does not need to know how to create reflection objectsAaron Patterson2013-07-223-21/+21
| | |
* | | remove unnecessary readerAaron Patterson2013-07-221-4/+4
| | |
* | | only flatten one sideAaron Patterson2013-07-221-1/+1
| | |
* | | extend by adding relationships rather than monkey patchingAaron Patterson2013-07-222-11/+13
| | |
* | | decouple extensions from association object stateAaron Patterson2013-07-222-3/+3
| | |
* | | Uses mysql2 0.3.13 or laterkennyj2013-07-231-1/+1
| | |
* | | Added some usage about ActiveRecord::Result [ci skip]kennyj2013-07-231-2/+26
| | |
* | | Defines the return type of select / select_all method.kennyj2013-07-232-6/+3
| | |
* | | Don't allow `quote_value` to be called without a columnBen Woosley2013-07-221-2/+2
| | | | | | | | | | | | | | | | | | | | | Some adapters require column information to do their job properly. By enforcing the provision of the column for this internal method we ensure that those using adapters that require column information will always get the proper behavior.