aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* remove `valid_options` class methodAaron Patterson2013-08-011-4/+3
|
* association builder classes no longer need the modelAaron Patterson2013-08-012-7/+6
| | | | | decouple the builder classes from the model. Builder objects should be easier to reuse now.
* remove more mutations from the `build` methodAaron Patterson2013-08-011-7/+2
|
* make mutation method apis more consistentAaron Patterson2013-08-012-4/+5
|
* push more mutations outside the factory methodAaron Patterson2013-08-012-8/+6
|
* 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
|