aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Free result_metadata directly instead of freeing 2nd, redundant call.Peter Kovacs2013-08-051-1/+1
| | | `result_metadata` returns a new object each time it is called, so calling `result_metadata.free` is essentially a noop. Instead call `free` directly on the metadata when we're done with it.
* Merge pull request #11693 from egilburg/minor_relation_refactorRafael Mendonça França2013-08-041-38/+45
|\ | | | | Minor optimization and code cleanup in query_methods.rb
| * Minor optimization and code cleanup in query_methods.Eugene Gilburg2013-07-311-38/+45
| | | | | | | | | | | | | | | | - Use symbols rather than strings where possible to avoid extra object construction - Use destructive methods where possible to avoid extra object construction - Use array union rather than concat followed by uniq - Use shorthand block syntax where possible - Use consistent multiline block styles, method names, method parenteses style, and spacing
* | use flat_mapNeeraj Singh2013-08-031-1/+1
| |
* | Merge pull request #11455 from antonio/fix_enable_extension_not_being_definedRafael Mendonça França2013-08-021-0/+8
|\ \ | | | | | | Define enable_extension method to prevent undefined method error
| * | Define enable_extension method to prevent undefined method errorAntonio Santos2013-08-021-0/+8
| | | | | | | | | | | | | | | | | | | | | When mixing postgresql and another adapter like sqlite3 (for dev and test respectively), the task `db:test:prepare` will fail due to the `enable_extension` method not being defined in the abstract adapter. This patch simply adds an empty definition to prevent it.
* | | Merge pull request #11714 from jetthoughts/11706_remove_bad_override_of_xmlRafael Mendonça França2013-08-021-7/+3
|\ \ \ | | | | | | | | Removed redundant xml override from pg adapter
| * | | Removed redundant xml override from pg adapterPaul Nikitochkin2013-08-021-7/+3
| | | | | | | | | | | | | | | | Closes: #11706
* | | | Use map! to avoid an extra object creationCarlos Antonio da Silva2013-08-021-1/+1
| | | |
* | | | Remove useless begin..endCarlos Antonio da Silva2013-08-021-2/+1
|/ / /
* | | extract habtm handling to a methodAaron Patterson2013-08-011-8/+12
| | |
* | | use drop and avoid a range objectAaron Patterson2013-08-011-1/+1
| | |
* | | remove intermediate assignmentsAaron Patterson2013-08-012-7/+4
| | |
* | | push option handling "chrome" outside `initialize`Aaron Patterson2013-08-011-8/+7
| | |
* | | 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.