| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This commit fixes formatting issue for `rake routes` task, when a section is shorter than a header.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm pretty confused about the addition of this method. The documentation
says that it was intended to allow the removal of values from the
default scope (in contrast to #except). However it behaves exactly the
same as except: https://gist.github.com/jonleighton/7537008 (other than
having a slightly enhanced syntax).
The removal of the default scope is allowed by
94924dc32baf78f13e289172534c2e71c9c8cade, which was not a change we
could make until 4.1 due to the need to deprecate things. However after
that change #unscope still gives us nothing that #except doesn't already
give us.
However there *is* a desire to be able to unscope stuff in a way that
persists across merges, which would allow associations to be defined
which unscope stuff from the default scope of the associated model. E.g.
has_many :comments, -> { unscope where: :trashed }
So that's what this change implements. I've also corrected the
documentation. I removed the guide references to #except as I think
unscope really supercedes #except now.
While we're here, there's also a potential desire to be able to write
this:
has_many :comments, -> { unscoped }
However, it doesn't make sense and would not be straightforward to
implement. While with #unscope we're specifying exactly what we want to
be removed from the relation, with "unscoped" we're just saying that we
want it to not have some things which were added earlier on by the
default scope. However in the case of an association, we surely don't
want *all* conditions to be removed, otherwise the above would just
become "SELECT * FROM comments" with no foreign key constraint.
To make the above work, we'd have to somehow tag the relation values
which get added when evaluating the default scope in order to
differentiate them from other relation values. Which is way too much
complexity and therefore not worth it when most use cases can be
satisfied with unscope.
Closes #10643, #11061.
|
| |
|
|\
| |
| | |
Add `#travel` and `#travel_to` to `ActiveSupport::TestCase`
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add `ActiveSupport::Testing::TimeHelpers#travel` and `#travel_to`. These
methods change current time to the given time or time difference by
stubbing `Time.now` and `Date.today` to return the time or date after
the difference calculation, or the time or date that got passed into the
method respectively. These methods also accept a block, which will
return current time back to its original state at the end of the block.
Example for `#travel`:
Time.now # => 2013-11-09 15:34:49 -05:00
travel 1.day
Time.now # => 2013-11-10 15:34:49 -05:00
Date.today # => Sun, 10 Nov 2013
Example for `#travel_to`:
Time.now # => 2013-11-09 15:34:49 -05:00
travel_to Time.new(2004, 11, 24, 01, 04, 44)
Time.now # => 2004-11-24 01:04:44 -05:00
Date.today # => Wed, 24 Nov 2004
Both of these methods also accept a block, which will return the current
time back to its original state at the end of the block:
Time.now # => 2013-11-09 15:34:49 -05:00
travel 1.day do
User.create.created_at # => Sun, 10 Nov 2013 15:34:49 EST -05:00
end
travel_to Time.new(2004, 11, 24, 01, 04, 44) do
User.create.created_at # => Wed, 24 Nov 2004 01:04:44 EST -05:00
end
Time.now # => 2013-11-09 15:34:49 -05:00
This module is included in `ActiveSupport::TestCase` automatically.
|
|\
| |
| | |
Update caching guide with respect to :namespace
|
|/
|
|
| |
Cache::Store does not have a default value for :namespace. If it ever did, I can't find it in the git history.
|
| |
|
| |
|
|
|
|
| |
Closes #12831
|
|\
| |
| | |
Improve readability of sentence in partial-renderer docs [ci skip]
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug when merging relations of different classes.
```
Given:
Post.joins(:author).merge(Author.order(name: :desc)).to_sql
Before:
SELECT "posts".* FROM "posts"
INNER JOIN "authors" ON "authors"."id" = "posts"."author_id"
ORDER BY "posts"."name" DESC
After:
SELECT "posts".* FROM "posts"
INNER JOIN "authors" ON "authors"."id" = "posts"."author_id"
ORDER BY "authors"."name" DESC
```
|
|
|
|
|
|
|
|
| |
constant"
This reverts commit fbcd46b1a0d255a34d29caa77bbd31c287446333.
This is not needed anymore. See 7280965
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 22f80ae57b26907f662b7fd50a7270a6381e527e.
See
https://github.com/rails/rails/commit/22f80ae57b26907f662b7fd50a7270a6381e527e#commitcomment-4640676
Conflicts:
activerecord/CHANGELOG.md
|
|
|
|
|
|
| |
This is a follow-up to 3053fee954c1e28b23f7e00921d7b9b3b3867fa5.
> The `master` branch should use the `master` branch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this resolves the following error when running `bundle install`
```
ArgumentError: wrong number of arguments (2 for 1)
/Users/senny/Projects/rails/.bundle/bundler/gems/arel-454a25f18c95/lib/arel/crud.rb:5:in `compile_update'
```
The build is still broken with lots of:
```
ArgumentError: wrong number of arguments (2 for 1)
/Users/senny/Projects/rails/.bundle/bundler/gems/arel-454a25f18c95/lib/arel/crud.rb:5:in `compile_update'
```
|
|\
| |
| | |
[ci skip] `apropriate` => `appropriate`, spaces added
|
|/ |
|
|\
| |
| | |
Fixed typos in "shallow routes" and "routing concerns" in routing.md [ci skip]
|
| |
| |
| |
| | |
Grammatical tense correction: "There exists two" => "There exist two".
Plurality correction: "can be reused inside others resources" => "can be reused inside other resources".
|
|\ \
| |/
|/| |
`skiping` => `skipping` [ci skip]
|
|/ |
|
|\
| |
| | |
added test cases to find notes in a file with .builder extension
|
| | |
|
|\ \
| | |
| | | |
Do not count query for all_constraints and all_tab_cols tested with Oracle
|
|/ / |
|
|\ \
| | |
| | | |
Address test_merging_where_relations failure by adding order
|
|/ / |
|
| |
| |
| |
| |
| | |
This will help identify these tasks exists, since they are easier to
setup things for running all AR tests.
|
| |
| |
| |
| | |
Fix travis failures.
|
|\ \
| | |
| | | |
Drop unused param `should_be_quoted` to `PostgreSQLColumn#array_to_string`
|
| |/ |
|
|\ \
| |/
|/| |
[ci skip]updated documentation: added sass and less extensions
|
|/ |
|
| |
|
|\
| |
| | |
Build fix for ruby 1.9.3 syntax
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Checks to see if the record contains the foreign_key to set the inverse automatically
Conflicts:
activerecord/CHANGELOG.md
|
| |
| |
| |
| | |
automatically
|
|\ \
| | |
| | | |
Track initializer's loaded event per file
|
|/ /
| |
| |
| |
| |
| | |
In order to simplify profiling loading of initializers,
added instument for tracking load config initializer event from
`config/initializers`
|
|\ \
| | |
| | | |
avoiding iterations and calling of underscore on all elements of array
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Test order dependency fixes
|
| | |
| | |
| | |
| | | |
FoxyFixturesTest#test_ignores_belongs_to_symbols_if_association_and_foreign_key_are_named_the_same
|
| | |
| | |
| | |
| | | |
test/cases/validations/i18n_generate_message_validation_test.rb and test/cases/validations/uniqueness_validation_test.rb
|
|\ \ \
| | | |
| | | | |
[ci skip] typo in ArgumentError in 4_0_release_notes.md
|
|/ / / |
|