aboutsummaryrefslogtreecommitdiffstats
path: root/actionview
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Tweaks CHANGELOGs and docs [ci skip]Ryuta Kamizono2019-03-311-3/+4
| | | | | | | | | | | | | | | | | | | | | * add leading `#` before `=>` since hash rocket is valid Ruby code * add backticks * remove trailing spaces * and more
* | | Merge pull request #35688 from jhawthorn/render_file_rfcAaron Patterson2019-03-3010-31/+110
|\ \ \ | |/ / |/| | RFC: Introduce Template::File
| * | Introduce Template::File as new render file:John Hawthorn2019-03-2710-31/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous behaviour of render file: was essentially the same as render template:, except that templates can be specified as an absolute path on the filesystem. This makes sense for historic reasons, but now render file: is almost exclusively used to render raw files (not .erb) like public/404.html. In addition to complicating the code in template/resolver.rb, I think the current behaviour is surprising to developers. This commit deprecates the existing "lookup a template from anywhere" behaviour and replaces it with "render this file exactly as it is on disk". Handlers will no longer be used (it will render the same as if the :raw handler was used), but formats (.html, .xml, etc) will still be detected (and will default to :plain). The existing render file: behaviour was the path through which Rails apps were vulnerable in the recent CVE-2019-5418. Although the vulnerability has been patched in a fully backwards-compatible way, I think it's a strong hint that we should drop the existing previously-vulnerable behaviour if it isn't a benefit to developers.
* | | Fix annotated typoPrathamesh Sonpatki2019-03-293-7/+7
| | |
* | | Merge pull request #35308 from ↵Rafael França2019-03-284-1/+39
|\ \ \ | |/ / |/| | | | | | | | erose/better-error-reporting-for-syntax-errors-in-templates Display a more helpful error message when an ERB template has a Ruby syntax error.
| * | Add handling and tests.Eli Rose2019-02-174-1/+39
| | |
* | | Merge pull request #35758 from Shigeyuki-fukuda/aligned_order_of_argumentRafael França2019-03-261-2/+2
|\ \ \ | | | | | | | | Aligned the order of the arguments of render_template and render_with_layout
| * | | Aligned the order of the arguments of render_template and render_with_layoutShigeyuki-fukuda2019-03-271-2/+2
| | | |
* | | | Merge pull request #35761 from koic/bump_rubocop_to_0_66_0Ryuta Kamizono2019-03-271-5/+5
|\ \ \ \ | | | | | | | | | | Bump RuboCop to 0.66.0
| * | | | Bump RuboCop to 0.66.0Koichi ITO2019-03-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Summary RuboCop 0.66.0 has been released. https://github.com/rubocop-hq/rubocop/releases/tag/v0.66.0 And rubocop-0-66 channel is available in Code Climate. https://github.com/codeclimate/codeclimate/releases/tag/v0.84.0 RuboCop 0.66.0 fixed the false negative to indentation for modifier. And this PR applied the auto-correction fixed by it. https://github.com/rubocop-hq/rubocop/pull/6792 In addtion, this PR is also updating the following 4 gems that RuboCop depends on. - Update Psych gem ... https://github.com/rubocop-hq/rubocop/pull/6766 - Update Parser gem to 2.6.2.0 that supports Ruby 2.5.5 and 2.6.2 ... https://github.com/whitequark/parser/blob/v2.6.2.0/CHANGELOG.md#changelog - Remove powerpack gem ... https://github.com/rubocop-hq/rubocop/pull/6806 - Update unicode-display_width gem ... https://github.com/rubocop-hq/rubocop/pull/6813
* | | | | Deprecate custom patterns for PathResolverJohn Hawthorn2019-03-262-40/+15
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Custom glob patterns tie the implementation (Using Dir.glob) to the API we provide. It also doesn't really work. extract_handler_and_format_and_variant expects the handler, format, and variant to be at the end of the template path, and in the same order as they are in the default pattern. This deprecates specifying a custom path for FileSystemResolver and removes the pattern argument of OptimizedFileSystemResolver#initialize, which does not work with a custom pattern.
* | | | [ci skip] Fixed typoShailesh Kalamkar2019-03-231-1/+1
| | | |
* | | | Update CHANGELOGs for 6.0.0.beta3 releaseJohn Hawthorn2019-03-221-1/+10
|/ / /
* | | Prefer render template: in testsJohn Hawthorn2019-03-217-42/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many tests were using `render file:`, but were only testing the behaviour of `render template:` (file: just allows more paths/ is less secure then template:). The reason for so many `render file:` is probably that they were the old default. This commit replaces `render file:` with `render template:` anywhere the test wasn't specifically interested in using `render file:`.
* | | Merge pull request #35661 from jhawthorn/lookup_context_validationEileen M. Uchitelle2019-03-203-2/+18
|\ \ \ | | | | | | | | Validate types assigned to LookupContext#formats=
| * | | Don't compact formatsJohn Hawthorn2019-03-192-6/+1
| | | |
| * | | Avoid assigning [nil] to formatsJohn Hawthorn2019-03-191-1/+1
| | | |
| * | | Improve "raises on invalid format assignment" testJohn Hawthorn2019-03-181-2/+2
| | | |
| * | | Rename invalid_types to invalid_valuesJohn Hawthorn2019-03-181-3/+3
| | | |
| * | | Raise in LookupContext#formats= on invalid formatJohn Hawthorn2019-03-182-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | This is a developer quality of life improvement, to ensure that unknown formats aren't assigned (which it would previously accept, but wouldn't work 100% correctly due to caching).
| * | | Make uniq in LookupContext#formats=John Hawthorn2019-03-182-1/+3
| | | | | | | | | | | | | | | | | | | | Having a format listed twice had no effect. This is mostly helpful to avoid an extra format when assigning [:html, "*/*"]
| * | | Ignore nil in LookupContext#formats=John Hawthorn2019-03-182-0/+6
| | | | | | | | | | | | | | | | | | | | This also removes the mutation we were performing on the values being passed in.
* | | | Re-add Template#updated_at as deprecatedJohn Hawthorn2019-03-192-6/+13
| | | |
* | | | Merge pull request #35662 from jhawthorn/fallback_resolver_no_virtual_pathAaron Patterson2019-03-192-8/+32
|\ \ \ \ | | | | | | | | | | Remove virtual_path from fallback templates
| * | | | Remove virtual_path from fallback templatesJohn Hawthorn2019-03-182-8/+32
| |/ / /
* | | | Merge pull request #35604 from jhawthorn/validate_mime_typesEileen M. Uchitelle2019-03-191-2/+2
|\ \ \ \ | |/ / / |/| | | Raise exception when building invalid mime type
| * | | Raise exception when building invalid mime typeJohn Hawthorn2019-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows mime types in the form text/html, text/*, or */* This required a few minor test/code changes where previously nil was used as a mime string.
* | | | Add regression test for HTML content in rails-ujsrazh2019-03-171-0/+11
| | | | | | | | | | | | | | | | See discussion in #32287
* | | | Revert "Pass HTML responses as plain-text in rails-ujs"razh2019-03-172-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 48e44edfd0a8a7a29aa8fad39638ac0ee5243f42. See discussion in #32287 For HTML content in `ajax:success` handlers, `event.detail[0]` should be an `HTMLDocument` instance.
* | | | Ruby 2.4 and later support native Unicode case mappingsRyuta Kamizono2019-03-181-1/+1
| | | | | | | | | | | | | | | | Here is only place where we use `mb_chars` internally.
* | | | Merge pull request #35623 from jhawthorn/actionview_cacheAaron Patterson2019-03-156-98/+13
|\ \ \ \ | | | | | | | | | | Make Template::Resolver always cache
| * | | | Remove updated_at from TemplatesJohn Hawthorn2019-03-154-18/+9
| | | | |
| * | | | Make Template::Resolver always cacheJohn Hawthorn2019-03-153-80/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All actionview caches are already cleared at the start of each request (when Resolver.caching is false) by PerExecutionDigestCacheExpiry, which calls LookupContext::DetailsKey.clear (which clears all caches). Because caches are always cleared per-request in dev, we shouldn't need this extra logic to compare mtimes and conditionally reload templates. This should make templates slightly faster in development (particularly multiple renders of the same template)
* / / / Rename `ActionView::Base#run` to `#_run`Seb Jacobs2019-03-153-3/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a recent change by @tenderlove to Action view which introduced `ActionView::Base#run` [1]. We ran into an issue with our application because one of the core concepts in our domain model is a `Run` which is exposed in most of our views as a helper method, which now conflicts with this new method. Although this is a public method it is not really meant to be part of the public API. In order to discourage public use of this method and to reduce the chances of this method conflicting with helper methods we can prefix this method with an underscore, renaming this method to `_run`. [1] https://github.com/rails/rails/commit/c740ebdaf5
* | | Merge tag 'v6.0.0.beta3'eileencodes2019-03-133-2/+7
|\ \ \ | | | | | | | | | | | | v6.0.0.beta3 release
| * | | Prep releaseeileencodes2019-03-113-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update RAILS_VERSION * Bundle * rake update_versions * rake changelog:header
* | | | Squish the deprecation messages across the codebasePrathamesh Sonpatki2019-03-112-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sample example -> Before: prathamesh@Prathameshs-MacBook-Pro-2 blog *$ rails server thin DEPRECATION WARNING: Passing the Rack server name as a regular argument is deprecated and will be removed in the next Rails version. Please, use the -u option instead. After: prathamesh@Prathameshs-MacBook-Pro-2 squish_app *$ rails server thin DEPRECATION WARNING: Passing the Rack server name as a regular argument is deprecated and will be removed in the next Rails version. Please, use the -u option instead.
* | | | Merge pull request #35121 from utilum/warning_tried_to_create_proc_without_blockKasper Timm Hansen2019-03-101-2/+2
|\ \ \ \ | | | | | | | | | | Ruby 2.7 warning: creating a Proc without a block
| * | | | Ruby 2.7 warning: creating a Proc without a blockutilum2019-02-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of [Revision 66772]( https://bugs.ruby-lang.org/projects/ruby-trunk/repository/trunk/revisions/66772) `Proc.new` without giving a block emits `warning: tried to create Proc object without a block`. This commit fixes cases where Rails test suit tickles this warning. See CI logs: https://travis-ci.org/rails/rails/jobs/487205819#L1161-L1190 https://travis-ci.org/rails/rails/jobs/487205821#L1154-1159 https://travis-ci.org/rails/rails/jobs/487205821#L1160-L1169 https://travis-ci.org/rails/rails/jobs/487205821#L1189 https://travis-ci.org/rails/rails/jobs/487254404#L1307-L1416 https://travis-ci.org/rails/rails/jobs/487254405#L1174-L1191
* | | | | Merge pull request #35559 from ↵Kasper Timm Hansen2019-03-091-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ashishprajapati/ashishprajapati/important_textual_improvements Added missing guide links in documentation and minor wording fix
| * | | | | Added missing guide links in README documentation and minor wording fix [ci ↵ashishprajapati2019-03-101-0/+2
| | |_|_|/ | |/| | | | | | | | | | | | | skip]
* | | | | Revert an incorrect change in jquery-2.2.0.jsSharang Dashputre2019-03-101-2/+2
| | | | |
* | | | | Fix links in gemspec and docs from http to https.Abhay Nikam2019-03-091-1/+1
| | | | |
* | | | | Merge pull request #35529 from ↵Ryuta Kamizono2019-03-094-5/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | abhaynikam/35492-follow-up-to-updates-links-to-https Updated links from http to https in guides, docs, etc
| * | | | | Updated links from http to https in guides, docs, etcAbhay Nikam2019-03-094-5/+5
| | | | | |
* | | | | | [ci skip] Minor documentation fixes for consistencyShailesh Kalamkar2019-03-091-1/+1
| |/ / / / |/| | | |
* | | | | Read the CSP nonce on page loadGeorge Claghorn2019-03-082-4/+10
|/ / / / | | | | | | | | Turbolinks replaces the CSP nonce <meta> tag on page change, but inline scripts inserted by UJS need the nonce from the initial page load. In general, it doesn't matter to UJS if the nonce changes after the page loads: only the initial value is relevant.
* | | | [ci skip] Fix typosShailesh Kalamkar2019-03-071-1/+1
| | | |
* | | | Merge pull request #35429 from jhawthorn/template_format_nilAaron Patterson2019-03-018-17/+13
|\ \ \ \ | | | | | | | | | | Allow nil format on templates
| * | | | Remove query_format argument from resolverJohn Hawthorn2019-02-263-5/+5
| | | | |