| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Correctly parse bigint defaults in PostgreSQL
Conflicts:
activerecord/CHANGELOG.md
|
| | |
|
|\ \
| | |
| | | |
Association with inverse_of does not set the parent in association building block
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | | |
Avoid calling define_method in CollectionProxy#scope
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |_|/
|/| | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
http://guides.rubyonrails.org/api_documentation_guidelines.html#example-code
[ci skip]
|
|\ \ \
| | | |
| | | | |
Collection of small fixes. Check individual commits for background.
|
| | | |
| | | |
| | | |
| | | | |
thanks to @egilburg for suggestion
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
has_many through obeys order on through association
|
| | | |
| | | |
| | | |
| | | | |
fixes #10016
|
|\ \ \ \
| |/ / /
|/| | | |
minor fixes including variable name change and expanded rdoc
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
belongs_to :touch should touch old record when transitioning.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
optimize some code around merge
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Per #9999 revert blank? to empty?
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
as opposed to blank?
This is both faster and more correct, added tests to make sure this is not reverted again.
|
|/ / / / / |
|
| |_|/ /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
mmangino/raise_when_attributes_cant_be_unserialized
Unserializing YAML attributes can silently fail in development mode
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
so that it is consistent with the error thrown for +find+ without an
inverse_of association.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
inverse_of option. I've also refactored the code for raising a
RecordNotFound exception when searching for records with ids.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
deprecated
Fixes activerecord-deprecated_finders build.
https://travis-ci.org/rails/activerecord-deprecated_finders/builds/5964703
|
|\ \ \ \
| | | | |
| | | | | |
Make references with index:true pass Hash options to add_index
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | | |
enum includes text or blob or ... hooked by wrong regex
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|