aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/finder_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Removing composed_of from ActiveRecord.Steve Klabnik2012-06-181-99/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature adds a lot of complication to ActiveRecord for dubious value. Let's talk about what it does currently: class Customer < ActiveRecord::Base composed_of :balance, :class_name => "Money", :mapping => %w(balance amount) end Instead, you can do something like this: def balance @balance ||= Money.new(value, currency) end def balance=(balance) self[:value] = balance.value self[:currency] = balance.currency @balance = balance end Since that's fairly easy code to write, and doesn't need anything extra from the framework, if you use composed_of today, you'll have to add accessors/mutators like that. Closes #1436 Closes #2084 Closes #3807
* Address ORA-00911 errors because of the heading underscore.Yasuo Honda2012-06-111-1/+1
|
* Fix that #exists? raises ThrowResult when called with an empty limitedBen Woosley2012-06-101-1/+6
| | | | | | | | | reflection. ActiveRecord::FinderMethods#construct_limited_ids_condition will raise ThrowResult if the limited reflection comes back empty. The other callers of #construct_limited_ids_condition handle this exception (more specifically, the callers of construct_relation_for*), but #exists? didn't until now.
* Add test to column alias in `exists?` SQL.Rafael Mendonça França2012-06-101-0/+6
| | | | | | | | This behavior was added in be4ecdcc87984e9421ff5d5c90d33f475e0fbc01. Closes #1139. Fixes #2553, #1141, #1623 and #2062.
* stop `to_s`ing method namesAkira Matsuda2012-06-061-1/+1
| | | | Module#methods are Symbols in Ruby >= 1.9
* quarantine more deprecated stuffJon Leighton2012-05-181-9/+0
|
* quarantine deprecated testsJon Leighton2012-05-181-333/+2
|
* Return false for exists? with new records - fixes #6199.Andrew White2012-05-101-0/+1
|
* Use `take` instead of `first` to avoid unwanted implicit ordering (fixes #6147)Marcelo Silveira2012-05-051-0/+4
|
* Introducing `take` as a replacement to the old behavior of `first`Marcelo Silveira2012-05-021-2/+24
|
* Made `first` finder consistent among database engines by adding aMarcelo Silveira2012-05-021-0/+6
| | | | default order clause (fixes #5103)
* remove deprecated callsJon Leighton2012-04-271-22/+21
|
* more deprecations manually fixedJon Leighton2012-04-271-20/+15
|
* find and replace deprecated keysJon Leighton2012-04-271-46/+46
|
* %s/find(:\(first\|last\|all\), \([^()]*\))/scoped(\2).\1/gcI amongst other ↵Jon Leighton2012-04-271-130/+53
| | | | things
* remove calls to find(:first), find(:last) and find(:all)Jon Leighton2012-04-261-1/+1
|
* remove deprecate #all usageJon Leighton2012-04-261-1/+1
|
* remove deprecate #calculate callsJon Leighton2012-04-261-6/+0
|
* fix #scoped deprecationsJon Leighton2012-04-261-5/+5
|
* remove tests for #with_scope (it's now deprecated)Jon Leighton2012-04-251-14/+0
|
* fix testsJon Leighton2012-04-131-2/+2
|
* Add dynamic find_or_create_by_{attribute}! method.Andrew White2012-03-121-0/+22
|
* fix activerecord query_method regression with offset into FixnumDenis Jean2012-03-121-0/+4
| | | | | | add test to show offset query_methods on mysql & mysql2 change test to cover public API
* Fix regression from Rails 3.1Paul McMahon2012-01-271-0/+11
| | | | | | Under Rails 3.1, you were allowed to pass a hash to a find_or_create method with multiple attribute names, but this was broken as the arguments were being improperly validated.
* Deprecate inferred JOINs with includes + SQL snippets.Jon Leighton2012-01-161-3/+6
| | | | | | See the CHANGELOG for details. Fixes #950.
* Revert "Deprecate implicit eager loading. Closes #950."Jon Leighton2012-01-161-3/+3
| | | | This reverts commit c99d507fccca2e9e4d12e49b4387e007c5481ae9.
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-3/+3
|
* Deprecate set_primary_key in favour of self.primary_key=Jon Leighton2011-11-291-1/+1
|
* Fixes issue #3483, regarding using a mixture of ranges and discrete values ↵Ryan Naughton2011-11-141-1/+1
| | | | in find conditions. Paired with Joey Schoblaska.
* Failing test case for issue #3483Gabriel Sobrinho2011-11-141-0/+4
|
* exclude ORDER BY clause when querying Relation#exists?Akira Matsuda2011-11-091-0/+5
|
* Add ROWNUM to test first and last to support Oracle.Yasuo Honda2011-09-071-2/+2
|
* Merge pull request #2485 from akaspick/exists_fixJon Leighton2011-09-071-0/+9
|\ | | | | fix exists? to return false if passed nil (which may come from a missing
| * fix exists? to return false if passed nil (which may come from a missing URL ↵Andrew Kaspick2011-08-101-0/+9
| | | | | | | | param)
* | Use LIMIT sql word in last when it's possibleDamien Mathieu2011-09-051-1/+18
| |
* | use LIMIT SQL word in first - Closes #2783Damien Mathieu2011-09-051-0/+9
|/
* Raise an ArgumentError if user passing less number of argument in the ↵Prem Sichanugrist2011-07-171-0/+8
| | | | | | | | | | | | | dynamic finder The previous behavior was unintentional, and some people was relying on it. Now the dynamic finder will always expecting the number of arguments to be equal or greater (so you can still pass the options to it.) So if you were doing this and expecting the second argument to be nil: User.find_by_username_and_group("sikachu") You'll now get `ArgumentError: wrong number of arguments (1 for 2).` You'll then have to do this: User.find_by_username_and_group("sikachu", nil)
* formatsAkira Matsuda2011-07-091-5/+5
|
* fix AR having() not to raise NoMethodError when the given argument does not ↵Akira Matsuda2011-07-091-0/+7
| | | | | | respond to empty? having raises NoMethodError: undefined method `empty?' when a Fixnum or Date/Time were passed via varargs
* please use ruby -I lib:test path/to/test.rb, or export RUBY_OPTAaron Patterson2011-06-061-1/+1
|
* Refactor Active Record test connection setup. Please see the ↵Jon Leighton2011-06-041-1/+1
| | | | RUNNING_UNIT_TESTS file for details, but essentially you can now configure things in test/config.yml. You can also run tests directly via the command line, e.g. ruby path/to/test.rb (no rake needed, uses default db connection from test/config.yml). This will help us fix the CI by enabling us to isolate the different Rails versions to different databases.
* Fix for #371Nick Howard2011-05-081-0/+21
| | | | | | | | | | | | if a query contains a limit or an offset, ActiveRecord::FinderMethods#find_last had inconsistent behavior. If the records were loaded, it returned the last record in the cached list. If they were not, it reversed the order of the query and changed the limit to one. If the earlier limit was less than the total matching the query in the db, it would return a different record than if the records had been cached. This commit changes find_last so that it loads the records when getting the last record on a query containing a limit or an offset, which makes the behavior consistent.
* supporting nil when passed in as an IN clauseAaron Patterson2011-04-291-3/+4
|
* Test that passing nil member of array in conditions retrieves records with nilgmile2011-04-291-0/+22
| | | | value on a selected field.
* Return nil from read_attribute(:foo) if 'foo' is not present in the ↵Jon Leighton2011-04-151-1/+2
| | | | @attributes hash, but the _foo method has been defined. This brings the behaviour into line with the 3-0-stable branch and the master branch before 93641ed6c8c684f6b4db02b6c8a22fa9bc7f0eaf (there were previously no assertions about this which is why the change slipped through). Note that actually calling the 'foo' method will still raise an error if the attribute is not present.
* test against AR class rather than the relation (thanks Andrew White!)Aaron Patterson2011-03-291-2/+2
|
* order is not guaranteed by this select, so add an order and call first!Aaron Patterson2011-03-291-1/+1
|
* Delegate first!, last!, any? and many? to scopedAndrew White2011-03-291-0/+16
|
* Change exists? so that it doesn't instantiate records [#6127 state:resolved]Andrew White2011-03-291-0/+5
|
* add #first! and #last! to models & relationsJosh Susser2011-03-241-0/+24
|