Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | | | push module building to the constructor | Aaron Patterson | 2013-08-01 | 1 | -14/+20 | |
| | | | | ||||||
* | | | | users should be warned if clobbering constants | Aaron Patterson | 2013-08-01 | 1 | -3/+1 | |
| | | | | ||||||
* | | | | defning extensions happens once, no need to cache | Aaron Patterson | 2013-08-01 | 1 | -5/+3 | |
| | | | | ||||||
* | | | | assert that constants have been set rather than the names | Aaron Patterson | 2013-08-01 | 1 | -3/+3 | |
| | | | | ||||||
* | | | | remove dead code | Aaron Patterson | 2013-08-01 | 1 | -4/+0 | |
| | | | | ||||||
* | | | | pushing out more callback definitions | Aaron Patterson | 2013-08-01 | 1 | -2/+6 | |
| | | | | ||||||
* | | | | push more mutations out of the builder | Aaron Patterson | 2013-08-01 | 2 | -12/+15 | |
| | | | | | | | | | | | | | | | | | | | | `configure_dependency` actually defined callbacks, so rename the method and move it to the appropriate method. | |||||
* | | | | remove dependency on @model when defining callbacks | Aaron Patterson | 2013-08-01 | 2 | -8/+8 | |
| | | | | ||||||
* | | | | extract more mutations to the caller | Aaron Patterson | 2013-08-01 | 2 | -13/+16 | |
| | | | | ||||||
* | | | | separate some mutations from reflection construction | Aaron Patterson | 2013-08-01 | 2 | -6/+6 | |
| |/ / |/| | | ||||||
* | | | oops! :bomb: | Aaron Patterson | 2013-07-31 | 1 | -1/+1 | |
| | | | ||||||
* | | | do is_a? tests on assignment so runtime is faster | Aaron Patterson | 2013-07-31 | 2 | -9/+12 | |
| | | | ||||||
* | | | Revert "all `scope_chain` methods allocate new arrays, no need to dup" | Aaron Patterson | 2013-07-31 | 1 | -1/+1 | |
| | | | | | | | | | | | | This reverts commit 1468a4b89aa4bca99160bfa03572b2c0ab348db5. | |||||
* | | | callback should always have a value | Aaron Patterson | 2013-07-31 | 1 | -1/+1 | |
| | | | ||||||
* | | | no need to to_sym | Aaron Patterson | 2013-07-31 | 2 | -2/+2 | |
| | | | ||||||
* | | | pass the mixin in to the code generation methods | Aaron Patterson | 2013-07-31 | 3 | -11/+11 | |
| | | | ||||||
* | | | we should not allow invalid objects to be constructed | Aaron Patterson | 2013-07-31 | 1 | -1/+2 | |
| | | | ||||||
* | | | push some validation up to the factory method | Aaron Patterson | 2013-07-31 | 1 | -4/+5 | |
| | | | ||||||
* | | | use bind values for model types | Aaron Patterson | 2013-07-31 | 1 | -2/+3 | |
| | | | ||||||
* | | | Merge pull request #11606 from vipulnsward/refactor_array_parser | Rafael Mendonça França | 2013-07-30 | 1 | -15/+22 | |
|\ \ \ | | | | | | | | | Refactor `ArrayParser` | |||||
| * | | | Refactor `ArrayParser` | Vipul A M | 2013-07-26 | 1 | -15/+22 | |
| | | | | | | | | | | | | | | | | | | | | * Constantize parse token * Remove extra param passed to `parse_data` | |||||
* | | | | all `scope_chain` methods allocate new arrays, no need to dup | Aaron Patterson | 2013-07-30 | 1 | -1/+1 | |
| | | | | ||||||
* | | | | Merge branch 'revert-order-prepending' | Rafael Mendonça França | 2013-07-30 | 1 | -2/+2 | |
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md | |||||
| * | | | | Revert change on ActiveRecord::Relation#order method that prepends new | Rafael Mendonça França | 2013-07-29 | 1 | -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/master | Rafael Mendonça França | 2013-07-29 | 3 | -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 predicate | sgrif | 2013-07-28 | 3 | -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 once | Aaron Patterson | 2013-07-29 | 1 | -1/+2 | |
|/ / / / | ||||||
* | | | | Avoid "uninitialized constant ActiveRecord::PendingMigrationError::Rails" | Akira Matsuda | 2013-07-29 | 1 | -1/+1 | |
| | | | | ||||||
* | | | | rake -> bin/rake | Steve Klabnik | 2013-07-24 | 1 | -1/+1 | |
|/ / / | ||||||
* | | | Fix indentation. | kennyj | 2013-07-24 | 1 | -8/+8 | |
| | | | ||||||
* | | | Simplify select_one method. | kennyj | 2013-07-24 | 1 | -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_map | Carlos Antonio da Silva | 2013-07-23 | 1 | -3/+3 | |
| | | | ||||||
* | | | oops! | Aaron Patterson | 2013-07-23 | 1 | -1/+1 | |
| | | | ||||||
* | | | eliminate conditional in JoinHelper | Aaron Patterson | 2013-07-23 | 2 | -2/+2 | |
| | | | ||||||
* | | | acually get the actual source reflection :cry::gun: | Aaron Patterson | 2013-07-23 | 1 | -7/+14 | |
| | | | ||||||
* | | | stop relying on side effects of const_missing | Aaron Patterson | 2013-07-23 | 1 | -7/+7 | |
| | | | ||||||
* | | | add a specific factory method rather than using new | Aaron Patterson | 2013-07-23 | 9 | -13/+11 | |
| | | | ||||||
* | | | factory methods should not have side effects. | Aaron Patterson | 2013-07-23 | 3 | -8/+11 | |
| | | | | | | | | | | | | Move model mutation to the methods that are called on the model. | |||||
* | | | extract mutation from generation method | Aaron Patterson | 2013-07-23 | 2 | -4/+6 | |
| | | | ||||||
* | | | habtm can only ever be an association reflection | Aaron Patterson | 2013-07-22 | 1 | -2/+4 | |
| | | | ||||||
* | | | use the predicate method | Aaron Patterson | 2013-07-22 | 1 | -1/+1 | |
| | | | ||||||
* | | | AR::Base does not need to know how to create reflection objects | Aaron Patterson | 2013-07-22 | 3 | -21/+21 | |
| | | | ||||||
* | | | remove unnecessary reader | Aaron Patterson | 2013-07-22 | 1 | -4/+4 | |
| | | | ||||||
* | | | only flatten one side | Aaron Patterson | 2013-07-22 | 1 | -1/+1 | |
| | | | ||||||
* | | | extend by adding relationships rather than monkey patching | Aaron Patterson | 2013-07-22 | 2 | -11/+13 | |
| | | | ||||||
* | | | decouple extensions from association object state | Aaron Patterson | 2013-07-22 | 2 | -3/+3 | |
| | | | ||||||
* | | | Uses mysql2 0.3.13 or later | kennyj | 2013-07-23 | 1 | -1/+1 | |
| | | | ||||||
* | | | Added some usage about ActiveRecord::Result [ci skip] | kennyj | 2013-07-23 | 1 | -2/+26 | |
| | | | ||||||
* | | | Defines the return type of select / select_all method. | kennyj | 2013-07-23 | 2 | -6/+3 | |
| | | | ||||||
* | | | Don't allow `quote_value` to be called without a column | Ben Woosley | 2013-07-22 | 1 | -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. |