aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Allow returning nil for `default_scope`Ryuta Kamizono2019-02-282-5/+5
|
* Fix indentation [ci skip]Ryuta Kamizono2019-02-271-2/+2
|
* Fix random CI failure due to non-deterministic sorting orderRyuta Kamizono2019-02-271-5/+5
| | | | https://travis-ci.org/rails/rails/jobs/499061043#L1187-L1193
* Fix test that was broken by adding a default scope to an existing modelRafael Mendonça França2019-02-263-2/+10
|
* Merge pull request #35397 from bogdanvlviv/run-memcachestoretest-on-buildkiteMatthew Draper2019-02-273-14/+15
|\ | | | | Run activesupport's memcache store tests on Buildkite
| * Run activesupport's memcache store tests on Buildkitebogdanvlviv2019-02-263-14/+15
|/ | | | Related to 287920ca7d06c8f51198ec750d65ba703835b257
* Fix preload with nested associationsRafael Mendonça França2019-02-263-1/+16
| | | | | | When the middle association doesn't have any records and the inner association is not an empty scope the owner will be `nil` so we can't try to reset the inverse association.
* :scissors:Ryuta Kamizono2019-02-271-1/+1
| | | | [ci skip]
* Add negative scopes for all enum values (#35381)David Heinemeier Hansson2019-02-263-0/+25
| | | Add negative scopes for all enum values
* Merge pull request #35422 from ricardotk002/fix-indentation-ad-routingRafael França2019-02-261-4/+4
|\ | | | | Fix code examples' indentation in ActionDispatch::Routing
| * Fix code examples' indentation in ActionDispatch::Routing [ci skip]Ricardo Díaz2019-02-261-4/+4
| |
* | Merge pull request #35411 from rails/pass-locals-to-templateAaron Patterson2019-02-268-56/+47
|\ \ | |/ |/| Pass locals in to the template object on construction
| * Remove unused method / fix documentationAaron Patterson2019-02-261-6/+1
| |
| * Update actionview/lib/action_view/template/resolver.rbJohn Hawthorn2019-02-261-1/+1
| | | | | | Co-Authored-By: tenderlove <tenderlove@github.com>
| * `original_encoding` isn't used, so deprecate it and remove the ivarAaron Patterson2019-02-252-5/+5
| |
| * Expand key word args for ActionView::TemplateAaron Patterson2019-02-252-4/+4
| |
| * Don't mutate `virtual_path`, remove `decorate`Aaron Patterson2019-02-252-17/+4
| | | | | | | | | | | | `virtual_path` is calculated in the constructor when the Template object is allocated. We don't actually need to set it in the `decorate` method. That means we can remove the decorate method all together.
| * Pass locals in to the template object on constructionAaron Patterson2019-02-257-27/+36
| | | | | | | | | | | | | | This commit ensures that locals are passed in to the template objects when they are constructed, then removes the `locals=` mutator on the template object. This means we don't need to mutate Template objects with locals in the `decorate` method.
* | Don't cache `find_by` statements on STI subclassesRyuta Kamizono2019-02-273-5/+22
| | | | | | | | | | | | Caching `find_by` statements on STI subclasses is unsafe, since `type IN (?,?,?,?)` part is dynamic, and we don't have SQL statements cache invalidation when a STI subclass is created or removed for now.
* | Test that no datetime precision isn't truncated on assignmentRyuta Kamizono2019-02-272-1/+41
| | | | | | | | Also, max precision (= 6) isn't regarded as unlimited precision for now.
* | Merge pull request #35412 from abhchand/correctly-load-blob-associationGeorge Claghorn2019-02-263-0/+7
|\ \ | | | | | | Ensure that the `_blob` association is properly loaded when attaching `::One`
| * | [ActiveStorage] Ensure that the `_blob` association is properly loaded when ↵Abhishek Chandrasekhar2019-02-263-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | attaching `::One` Consider a model with `One` and `Many` attachments configured: class User < ActiveRecord::Base has_one_attached :avatar has_many_attached :highlights end === One Attachment After attaching `One` attachment (`:avatar`), we can see that the associated `_blob` record (`:avatar_blob`) still returns as `nil`. user.avatar.attach(blob) user.avatar_attachment.present? => true user.avatar_blob.present? => false # Incorrect! This is a false negative. It happens because after the attachment and blob are built: 1. The record already has its `_blob` association loaded, as `nil` 2. the `::Attachment` is associated with the record but the `::Blob` only gets associated with the `::Attachment`, not the record itself In reality, the blob does in fact exist. We can verify this as follows: user.avatar.attach(blob) user.avatar_attachment.blob.present? => true # Blob does exist! The fix in this change is to simply assign the `::Blob` when assigning the `::Attachment`. After this fix is applied, we correctly observe: user.avatar.attach(blob) user.avatar_attachment.present? => true user.avatar_blob.present? => true # Woohoo! === Many Attachments We don't see this issue with `Many` attachments because the `_blob` association is already loaded as part of attaching more/newer blobs. user.highlights.attach(blob) user.highlights_attachments.any? => true user.highlights_blobs.any? => true
* | | Fix random CI failure due to non-deterministic sorting orderRyuta Kamizono2019-02-271-5/+5
| | | | | | | | | | | | https://buildkite.com/rails/rails/builds/59106#596284a1-4692-4640-8a50-c4286e173bbb/115-126
* | | Merge pull request #35361 from ↵Ryuta Kamizono2019-02-274-3/+40
|\ \ \ | | | | | | | | | | | | | | | | | | | | jvillarejo/fix_wrong_size_query_with_distinct_select Fix different `count` calculation when using `size` with DISTINCT `select`
| * | | fixes different `count` calculation when using `size` manual `select` with ↵jvillarejo2019-02-264-3/+39
|/ / / | | | | | | | | | | | | | | | | | | | | | DISTINCT When using `select` with `'DISTINCT( ... )'` if you use method `size` on a non loaded relation it overrides the column selected by passing `:all` so it returns different value than count. This fixes #35214
* | | Merge pull request #35414 from abhaynikam/35406-followup-rename-template-formatRafael França2019-02-251-1/+1
|\ \ \ | |_|/ |/| | [ci skip] Renamed formats -> format in test after #35406
| * | [ci skip] Renamed formats -> format in test after #35406Abhay Nikam2019-02-261-1/+1
|/ /
* | Merge pull request #35408 from rails/template-has-one-variantAaron Patterson2019-02-253-13/+11
|\ \ | | | | | | Template has one variant
| * | Change `variants` to `variant`Aaron Patterson2019-02-252-11/+10
| | | | | | | | | | | | | | | | | | Templates only have one variant, so we should not store it in an array. This commit converts `variants` to `variant` and deprecates the plural accessor
| * | Remove potential `variants` mutation in `decorate`Aaron Patterson2019-02-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if the template is constructed with a `nil` variant, the array it constructs will never be `empty?`: https://github.com/rails/rails/blob/56b030605b4d968077a4ddb96b4ab619e75fb999/actionview/lib/action_view/template.rb#L152 We get an array that is `[nil]`, which is not empty, so this conditional is never true.
| * | Convert `variant` to a keyword argAaron Patterson2019-02-251-2/+2
| | |
* | | Preparing for 6.0.0.beta2 releaseRafael Mendonça França2019-02-2532-68/+109
| | |
* | | Improve Template#inspect output (#35407)John Hawthorn2019-02-252-2/+16
|/ / | | | | | | | | | | | | | | | | | | | | | | | | * Don't call inspect from identifier_method_name * Add locals Template#inspect Handler, formats, and variant are usually obvious from looking at the identifier. However it's not uncommon to have different locals for the same template so we should make that obvious in inspect. * Add tests for short_identifier and inspect [John Hawthorn + Rafael Mendonça França]
* | 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.