| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without this change, `store_translations` silently fails when available
locales already initialized.
Ref:
https://travis-ci.org/rails/rails/jobs/497615616#L6846
https://travis-ci.org/rails/rails/jobs/497605027#L6856
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
janko/restore-io-copy-stream-compatibility-with-uploaded-file
Restore ActionDispatch::Http::UploadedFile compatibility with IO.copy_stream
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In https://github.com/rails/rails/pull/28676 the `#to_path` method was
added to `ActionDispatch::Http::UploadedFile`. This broke usage with
`IO.copy_stream`:
source = ActionDispatch::Http::UploadedFile.new(...)
IO.copy_stream(source, destination)
# ~> TypeError: can't convert ActionDispatch::Http::UploadedFile to IO (ActionDispatch::Http::UploadedFile#to_io gives Tempfile)
Normally `IO.copy_stream` just calls `#read` on the source object.
However, when `#to_path` is defined, `IO.copy_stream` calls `#to_io` in
order to retrieve the raw `File` object. In that case it trips up,
because `ActionDispatch::Http::UploadedFile#to_io` returned a `Tempfile`
object, which is not an `IO` subclass.
We fix this by having `#to_io` return an actual `File` object.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We test the inflections for both autoloaders, but we can
also autoload the constant as a sort of integration test.
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
[Harry Brundage & Xavier Noria]
|
|\ \ \
| | | |
| | | | |
minor grammar fix [ci skip]
|
|/ / / |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add a finalizer to inline templates
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit adds a finalizer just to inline templates. We can't cache
compilation of inline templates because it's possible that people could
have render calls that look like this:
```ruby
loop do
render inline: "#{rand}"
end
```
and we would cache every one of these different inline templates. That
would cause a memory leak. OTOH, we don't need finalizers on regular
templates because we can cache, control, and detect changes to the
template source.
Fixes: #35372
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
y-yagi/fix_test_select_with_subquery_in_from_uses_original_table_name
Make `test_select_with_subquery_in_from_uses_original_table_name` work with old SQLite3
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
old SQLite3
It seems that the reason why the `test_select_with_subquery_in_from_uses_original_table_name`
does not pass is that the return value of `sqlite3_column_name()` is
wrong due to subquery flattening.
This seems to have been fixed with SQLite 3.20.0(https://sqlite.org/changes.html#version_3_20_0).
But CI uses the old version(maybe 3.11.0), I added `DISTINCT` to avoid
optimization by subquery flattening.
Ref: https://sqlite.org/optoverview.html#flattening
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
abhaynikam/update-getting-started-doc-for-migration-version-in-rails-6
Update migration version to 6.0 in the getting started doc [ci skip]
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Update callbacks skipping methods in guide.
[ci skip]
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Ensure that rendered templates always have a format
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This removes one call to `lookup_context` and also eliminates a
conditional in `_render_template`.
|
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Somehow `ENV["BUILDKITE"]` didn't work as expected.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Pass lookup context to the layout handlers
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I want to start reducing the calls to `lookup_context`. That method
caches the lookup context in an ivar, but I would like to cache the
lookup context on the stack. That way we aren't coupled to the behavior
of the `lookup_context` method.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Buildkite as well
https://buildkite.com/rails/rails/builds/58981#2423c707-7c56-4639-a76e-8db4fd1e5cf3/102-111
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
abhaynikam/35351-allows-rich-text-area-to-have-translated-placeholder
Allows rich_text_area_tag to add translated placeholder text if placeholder option set to true
|
| |/ / /
| | | |
| | | |
| | | | |
placeholder option set to true
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Bumps Zeitwerk
|
| | | | |
| | | | |
| | | | |
| | | | | |
Possible thanks to Zeitwerk 1.3.0.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Possible thanks to Zeitwerk 1.3.0.
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
Fix `pluck` and `select` with `from` if `from` has original table name
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I'm not sure why the test is failed on Travis, it passed on locally.
I suspect that failure is a bug on SQLite3, so just skip the test for
now, since it was not covered by before.
https://travis-ci.org/rails/rails/jobs/496726410#L1198-L1208
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is caused by 0ee96d1.
Since #18744, `select` columns doesn't be qualified by table name if
using `from`. 0ee96d1 follows that for `pluck` as well.
But people depends that `pluck` columns are qualified even if using
`from`.
So I've fixed that to be qualified if `from` has the original table name
to keep the behavior as much as before.
Fixes #35359.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The argument of `_update_record` and `_create_record` is
`attribute_names`, that is reserved for overriding by partial writes
attribute names.
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/persistence.rb#L719
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/persistence.rb#L737
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/attribute_methods/dirty.rb#L171
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/attribute_methods/dirty.rb#L177
The reason that no failing with extra args is that `Timestamp` module
which is most outside module of the `_update_record` discards the extra
args.
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/timestamp.rb#L104
But that looks odd dependency. It should not be passed extra args,
should only be passed attribute names.
|
|\ \
| | |
| | | |
Define Rails.autoloaders.logger=
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
kamipo/dont_allow_non_numeric_string_matches_to_zero
Don't allow `where` with non numeric string matches to 0 values
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a follow-up of #35310.
Currently `Topic.find_by(id: "not-a-number")` matches to a `id = 0`
record. That is considered as silently leaking information.
If non numeric string is given to find by an integer column, it should
not be matched to any record.
Related #12793.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
collation issues
In MySQL, the default collation is case insensitive. Since the
uniqueness validator enforces case sensitive comparison by default, it
frequently causes mismatched collation issues (performance, weird
behavior, etc) to MySQL users.
https://grosser.it/2009/12/11/validates_uniqness_of-mysql-slow/
https://github.com/rails/rails/issues/1399
https://github.com/rails/rails/pull/13465
https://github.com/gitlabhq/gitlabhq/commit/c1dddf8c7d947691729f6d64a8ea768b5c915855
https://github.com/huginn/huginn/pull/1330#discussion_r55152573
This extracts `default_uniqueness_comparison` to ease to handle the
mismatched collation issues on the connection.
|
|\ \ \
| | | |
| | | | |
Fix lint `ShadowingOuterLocalVariable`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Revert "Fix lint `ShadowingOuterLocalVariable`"
This reverts commit 38bd45a48992b500478a82d56d31468a322937a8.
Change of variable name
Fix lint `ShadowingOuterLocalVariable`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 52fddcc653458456f98b3683dffd781cf00b35fe.
52fddcc was to short-circuit `ensure_in_range` in `cast_value`. But that
caused a regression for empty string deserialization.
Since 7c6f393, `ensure_in_range` is moved into `serialize`. As 52fddcc
said, the absolute gain is quite small. So I've reverted that commit to
fix the regression.
|
|\ \ \ \
| |/ / /
|/| | | |
Add missing require to active_storage.rb
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since b21f50d8ae36d9b50b673579e17bccbe55363b34, requiring active_storage
on its own has failed with the following error:
activestorage/lib/active_storage.rb:55:in `<module:ActiveStorage>': undefined method `minutes' for 5:Integer (NoMethodError)
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
[ci skip] actionview typo fixes.
|