aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #10098 from subwindow/postgres_dump_bigint_defaultRafael Mendonça França2013-04-051-1/+1
|\ | | | | | | | | | | | | Correctly parse bigint defaults in PostgreSQL Conflicts: activerecord/CHANGELOG.md
| * Correctly parse bigint defaults in PostgreSQLErik Peterson2013-04-051-1/+1
| |
* | Merge pull request #9996 from mikz/masterJon Leighton2013-04-051-0/+1
|\ \ | | | | | | Association with inverse_of does not set the parent in association building block
| * | fix inverse_of association in block of new childMichal Cichra2013-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes inconsistency when building children of association which has inverse_of set properly. When creating new association object with a block: parent.association.build do |child| child.parent.equal?(parent) # false end So the block the `child.parent` did not point to the same object. But when the object is created it points to same instance: child = parent.association.build child.parent.equal?(parent) # true
* | | Merge pull request #10058 from jamesgolick/masterJon Leighton2013-04-052-5/+3
|\ \ \ | | | | | | | | Avoid calling define_method in CollectionProxy#scope
| * | | Refactor CollectionProxy#scope to avoid calling #extend.James Golick2013-04-022-5/+3
| | | |
* | | | Fix scope chaining + STIJon Leighton2013-04-052-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #9869 and #9929. The problem arises from the following example: class Project < ActiveRecord::Base scope :completed, -> { where completed: true } end class MajorProject < Project end When calling: MajorProject.where(tasks_count: 10).completed This expands to: MajorProject.where(tasks_count: 10).scoping { MajorProject.completed } However the lambda for the `completed` scope is defined on Project. This means that when it is called, `self` is Project rather than MajorProject. So it expands to: MajorProject.where(tasks_count: 10).scoping { Project.where(completed: true) } Since the scoping was applied on MajorProject, and not Project, this fails to apply the tasks_count condition. The solution is to make scoping apply across STI classes. I am slightly concerned about the possible side-effects of this, but no tests fail and it seems ok. I guess we'll see.
* | | | Sort modules in alphabetical order.Shunsuke Osa2013-04-051-2/+2
| |_|/ |/| |
* | | Avoid an attempt to fetch old record when id was not present in touch callbackCarlos Antonio da Silva2013-04-041-7/+7
| | |
* | | Use the correct pk field from the reflected class to find the old recordCarlos Antonio da Silva2013-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation was using the source class foreign key field instead of the reflected primary key one to find the old record. For instance, for this scenario class Bulb < ActiveRecord::Base belongs_to :car, :touch => true end class Car < ActiveRecord::Base has_many :bulbs end the current implementation was trying to do this query: Car.where(car_id: X).first where we should be doing this query: Car.where(id: X).first This should hopefully fix the build.
* | | Use inspect when writing the foreign key from the reflectionAndrew White2013-04-051-2/+2
| | | | | | | | | | | | | | | | | | If we don't use inspect inside the class_eval block then the foreign key is written without quotes causing us to fetch the foreign key value and not the column name.
* | | Use a space after the comment sign when showing the result of commandsCarlos Antonio da Silva2013-04-041-4/+4
| | | | | | | | | | | | | | | | | | http://guides.rubyonrails.org/api_documentation_guidelines.html#example-code [ci skip]
* | | Merge pull request #10094 from neerajdotname/fix2Carlos Antonio da Silva2013-04-042-3/+21
|\ \ \ | | | | | | | | Collection of small fixes. Check individual commits for background.
| * | | use | to have more intent revealing codeNeeraj Singh2013-04-041-1/+1
| | | | | | | | | | | | | | | | thanks to @egilburg for suggestion
| * | | expanded rdoc for chain and reflection_namesNeeraj Singh2013-04-041-2/+20
| | | |
* | | | stop depending on callbacksAaron Patterson2013-04-041-6/+12
|/ / /
* | | Merge pull request #10087 from neerajdotname/10016Carlos Antonio da Silva2013-04-041-0/+1
|\ \ \ | | | | | | | | has_many through obeys order on through association
| * | | has_many through obeys order on through associationNeeraj Singh2013-04-041-0/+1
| | | | | | | | | | | | | | | | fixes #10016
* | | | Merge pull request #10088 from neerajdotname/fixes1Rafael Mendonça França2013-04-043-5/+15
|\ \ \ \ | |/ / / |/| | | minor fixes including variable name change and expanded rdoc
| * | | expanded rdoc on source_reflection methodNeeraj Singh2013-04-041-0/+10
| | | |
| * | | show name of the klass that has missing associationNeeraj Singh2013-04-021-1/+1
| | | |
| * | | not a relation. it's an arel select managerNeeraj Singh2013-04-021-4/+4
| | | |
* | | | Merge pull request #9141 from adamgamble/issue-9091David Heinemeier Hansson2013-04-031-0/+10
|\ \ \ \ | | | | | | | | | | belongs_to :touch should touch old record when transitioning.
| * | | | Modifies belong_to touch callback to touch old associations also #9091Adam Gamble2013-03-141-0/+10
| | | | |
* | | | | Merge pull request #10049 from vipulnsward/optimize_around_merge_v1Rafael Mendonça França2013-04-031-1/+1
|\ \ \ \ \ | | | | | | | | | | | | optimize some code around merge
| * | | | | optimize some code around mergeVipul A M2013-04-031-1/+1
| | | | | |
* | | | | | Move alias method near to the aliased one in collection proxyCarlos Antonio da Silva2013-04-031-2/+1
| | | | | |
* | | | | | Merge pull request #10063 from SamSaffron/masterSantiago Pastorino2013-04-021-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | Per #9999 revert blank? to empty?
| * | | | | | Per #9999 revert the revert changing so columns are only tested for empty? ↵Sam2013-04-031-4/+4
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | as opposed to blank? This is both faster and more correct, added tests to make sure this is not reverted again.
* / | | | | true/false => truthy falsySteve Klabnik2013-04-021-2/+2
|/ / / / /
* | | / / Prefer find_by over dynamic finders in rdocSam Ruby2013-04-025-11/+11
| |_|/ / |/| | |
* | | | Merge pull request #9975 from ↵Aaron Patterson2013-04-021-12/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | mmangino/raise_when_attributes_cant_be_unserialized Unserializing YAML attributes can silently fail in development mode
| * | | | Remove all error masking when decoding serialized data fails?Mike Mangino2013-04-021-13/+8
| | | | |
| * | | | Raise an exception when unserialization fails due to a missing classMike Mangino2013-03-281-1/+2
| | | | |
* | | | | Fix tiny problem: change method order for consistency and fix wrong method name.kennyj2013-04-031-1/+1
| | | | |
* | | | | Add deprecation message on Firebird / Sqlserver / Oracle database tasks.kennyj2013-04-033-0/+3
| | | | |
* | | | | Extract Oracle database tasks.kennyj2013-04-034-31/+54
| | | | |
* | | | | Extract Sqlserver database tasks.kennyj2013-04-034-11/+51
| | | | |
* | | | | Extract Firebird database tasks.kennyj2013-04-034-20/+58
| | | | |
* | | | | no need to invoke to_s before applying internNeeraj Singh2013-04-021-1/+1
| | | | |
* | | | | Fix #new with an STI object with complex inheritanceNate Berkopec2013-04-021-1/+1
| | | | |
* | | | | Updated the error message for +find+ on an inverse_of associationwangjohn2013-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | so that it is consistent with the error thrown for +find+ without an inverse_of association.
* | | | | Throwing a RecordNotFound exception when a record is scanned using thewangjohn2013-04-012-12/+37
| | | | | | | | | | | | | | | | | | | | | | | | | inverse_of option. I've also refactored the code for raising a RecordNotFound exception when searching for records with ids.
* | | | | :uniq is still a valid relation option since it was only silentlyRafael Mendonça França2013-04-011-1/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | deprecated Fixes activerecord-deprecated_finders build. https://travis-ci.org/rails/activerecord-deprecated_finders/builds/5964703
* | | | Merge pull request #10010 from pwnall/fix_ref_index_trueRafael Mendonça França2013-04-011-1/+1
|\ \ \ \ | | | | | | | | | | Make references with index:true pass Hash options to add_index
| * | | | Make references with index:true pass Hash options to add_index.Victor Costan2013-04-011-1/+1
| | | | |
* | | | | fix detect column type of enummasarakki2013-04-011-2/+2
|/ / / / | | | | | | | | | | | | enum includes text or blob or ... hooked by wrong regex
* | | | Refactor index algorithm lookup so that it only builds the available options ↵Carlos Antonio da Silva2013-03-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | once This way the available options are only built for actually fetching the algorithm in case the option is given. The options are going to be necessary a second time only in case the option is given but does not exist, which is supposed to be due to a typo or something like that, so no problem.
* | | | Minor doc improvement about index algorithms [ci skip]Carlos Antonio da Silva2013-03-301-3/+2
| | | |
* | | | Do not calculate values if they are not going to be usedCarlos Antonio da Silva2013-03-301-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building the indexes list in PostgreSQL, IndexDefinition objects are only created if the query for the related attributes really returns something matching the attributes. In case it does not, the variables for building the definition objects were being created but not used.