aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #35406 from rails/template-has-one-formatAaron Patterson2019-02-2516-31/+43
|\ | | | | Templates have one format
| * Templates have one formatAaron Patterson2019-02-2516-31/+43
| | | | | | | | | | | | | | Templates only have one format. Before this commit, templates would be constructed with a single element array that contained the format. This commit eliminates the single element array and just implements a `format` method. This saves one array allocation per template.
* | Merge pull request #35400 from aglushkov/stream_manual_cache_controlAaron Patterson2019-02-252-2/+8
|\ \ | |/ |/| Allow custom cache-control header in AC::Live
| * Allow custom cache-control header in AC::LiveAndrey Glushkov2019-02-252-2/+8
| | | | | | | | https://github.com/rails/rails/issues/35312
* | Merge pull request #35404 from rails/no-nil-format-on-templatesAaron Patterson2019-02-256-16/+33
|\ \ | | | | | | No nil format on templates
| * | Update actionview/lib/action_view/template.rbRyuta Kamizono2019-02-251-1/+1
| | | | | | | | | Co-Authored-By: tenderlove <tenderlove@github.com>
| * | remove the formats writer on templatesAaron Patterson2019-02-251-2/+6
| | |
| * | Dereference the format type before template constructionAaron Patterson2019-02-252-2/+2
| | | | | | | | | | | | | | | The format should always be exactly one symbol. Now we don't need to check whether or not the format is a `Type` in the constructor.
| * | Always pass a format to the ActionView::Template constructorAaron Patterson2019-02-256-13/+26
|/ / | | | | | | | | This means we can eliminate nil checks and remove some mutations from the `decorate` method.
* | Fix class name in the documentation [ci skip]Rafael Mendonça França2019-02-251-1/+1
| |
* | Merge pull request #35402 from alimi/update-ar-read-regexAaron Patterson2019-02-254-1/+29
|\ \ | | | | | | Support read queries with leading characters while preventing writes
| * | Update READ_QUERY regexAli Ibrahim2019-02-254-1/+29
| | | | | | | | | | | | | | | | | | | | | * The READ_QUERY regex would consider reads to be writes if they started with spaces or parens. For example, a UNION query might have parens around each SELECT - (SELECT ...) UNION (SELECT ...). * It will now correctly treat these queries as reads.
* | | Depend on bootsnap 1.4.1Rafael Mendonça França2019-02-251-1/+1
| | | | | | | | | | | | This is needed to fix #35278.
* | | Refactor `type_to_sql` to handle converting `limit` to `size` in itselfRyuta Kamizono2019-02-266-76/+91
| | | | | | | | | | | | | | | Also, improving an argument error message for `limit`, extracting around `type_to_sql` code into schema statements, and more exercise tests.
* | | Merge pull request #35399 from kamipo/fix_prepared_statement_cachingRyuta Kamizono2019-02-265-15/+79
|\ \ \ | |/ / |/| | Fix prepared statements caching to be enabled even when query caching is enabled
| * | Fix prepared statements caching to be enabled even when query caching is enabledRyuta Kamizono2019-02-265-15/+79
|/ / | | | | | | | | | | | | | | | | | | | | | | Related cbcdecd, 2a56b2d. This is a regression caused by cbcdecd. If query caching is enabled, prepared statement handles are never re-used, since we missed that a query is preprocessed when query caching is enabled, but doesn't keep the `preparable` flag. We should care about that case.
* | Merge pull request #35394 from alkesh26/activemodel-typo-fixRyuta Kamizono2019-02-251-3/+3
|\ \ | | | | | | activemodel typo fixes.
| * | activemodel typo fix.alkesh262019-02-251-3/+3
| | |
* | | Merge pull request #35352 from kamipo/update_all_doesnt_care_optimistic_lockingRyuta Kamizono2019-02-254-19/+83
|\ \ \ | |/ / |/| | Ensure `update_all` series doesn't care optimistic locking
| * | Ensure `update_all` series cares about optimistic lockingRyuta Kamizono2019-02-254-19/+83
| | | | | | | | | | | | | | | | | | Incrementing the lock version invalidates any other process's optimistic lock, which is the desired outcome: the record no longer looks the same as it did when they loaded it.
* | | Merge pull request #35393 from alkesh26/activejob-typo-fixRyuta Kamizono2019-02-251-1/+1
|\ \ \ | | | | | | | | [ci skip] activejob typo fix.
| * | | [ci skip] activejob typo fix.alkesh262019-02-251-1/+1
|/ / /
* | | Remove duplicated protected params definitionsRyuta Kamizono2019-02-246-88/+30
| | | | | | | | | | | | Use "support/stubs/strong_parameters" instead.
* | | Add test case for `unscope` with `merge`Ryuta Kamizono2019-02-241-0/+13
| | |
* | | More exercise string attribute predicate tests for falsy stringsRyuta Kamizono2019-02-241-0/+4
| | |
* | | Merge pull request #35383 from soartec-lab/update_guide_activerecord_queryingRyuta Kamizono2019-02-241-0/+2
|\ \ \ | | | | | | | | How to use `select` is updated [ci skip]
| * | | How to use `select` is updated [ci skip]soartec-lab2019-02-241-0/+2
| | | |
* | | | Disable available locale checks in Action Test testyuuji.yaginuma2019-02-241-0/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #35382 from ↵George Claghorn2019-02-232-48/+62
|\ \ \ | | | | | | | | | | | | | | | | janko/restore-io-copy-stream-compatibility-with-uploaded-file Restore ActionDispatch::Http::UploadedFile compatibility with IO.copy_stream
| * | | Restore UploadedFile compatibility with IO.copy_streamJanko Marohnić2019-02-232-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Test ActionDispatch::Http::UploadedFile with an actual TempfileJanko Marohnić2019-02-231-48/+48
| | | |
* | | | Make this test strongerXavier Noria2019-02-231-0/+7
| | | | | | | | | | | | | | | | | | | | We test the inflections for both autoloaders, but we can also autoload the constant as a sort of integration test.
* | | | Add test case for `unscope` with unknown columnRyuta Kamizono2019-02-241-0/+11
| | | |
* | | | More exercise tests for distinct count with group byRyuta Kamizono2019-02-241-2/+16
| | | |
* | | | Let Zeitwerk autoloaders inflect with Active SupportXavier Noria2019-02-232-2/+32
|/ / / | | | | | | | | | [Harry Brundage & Xavier Noria]
* | | Merge pull request #35379 from shivamvinsol/minor_grammar_fixRyuta Kamizono2019-02-241-1/+1
|\ \ \ | | | | | | | | minor grammar fix [ci skip]
| * | | minor grammar fix [ci skip]Shivam Jain2019-02-241-1/+1
|/ / /
* | | Upgrade Zeitwerk to 1.3.1Xavier Noria2019-02-232-3/+3
| | |
* | | Merge pull request #35374 from rails/cache-inline-templatesAaron Patterson2019-02-223-1/+24
|\ \ \ | | | | | | | | Add a finalizer to inline templates
| * | | Add a finalizer to inline templatesAaron Patterson2019-02-223-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge pull request #35375 from ↵Yuji Yaginuma2019-02-231-7/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | 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
| * | | Make `test_select_with_subquery_in_from_uses_original_table_name` work with ↵yuuji.yaginuma2019-02-231-7/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #35367 from ↵Rafael França2019-02-221-2/+2
|\ \ \ | | | | | | | | | | | | | | | | abhaynikam/update-getting-started-doc-for-migration-version-in-rails-6 Update migration version to 6.0 in the getting started doc [ci skip]
| * | | [ci skip] Updated migration version to 6.0 in the getting started docsAbhay Nikam2019-02-221-2/+2
| | | |
* | | | Merge pull request #35370 from shivamvinsol/fix_skip_callbacks_documentationRyuta Kamizono2019-02-231-3/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Update callbacks skipping methods in guide. [ci skip]
| * | | | update callbacks skipping methods in guide [ci skip]Shivam Jain2019-02-231-3/+2
| | | | |
* | | | | Merge pull request #35371 from rails/always-have-a-formatAaron Patterson2019-02-224-7/+18
|\ \ \ \ \ | | | | | | | | | | | | Ensure that rendered templates always have a format
| * | | | | Ensure that rendered templates always have a formatAaron Patterson2019-02-224-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes one call to `lookup_context` and also eliminates a conditional in `_render_template`.
* | | | | | Skip `test_select_with_subquery_in_from_uses_original_table_name` on CIRyuta Kamizono2019-02-231-1/+1
| |/ / / / |/| | | | | | | | | | | | | | Somehow `ENV["BUILDKITE"]` didn't work as expected.
* | | | | Merge pull request #35369 from rails/fewer-lookup-context-callsAaron Patterson2019-02-222-6/+6
|\ \ \ \ \ | |_|/ / / |/| | | | Pass lookup context to the layout handlers