aboutsummaryrefslogtreecommitdiffstats
path: root/actionview
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | | |
| * | | Create templates with format=nilJohn Hawthorn2019-02-265-7/+8
| | | |
| * | | Allow format to be nilJohn Hawthorn2019-02-261-5/+0
| | | |
* | | | Removes unnecessary dot in regexpXavier Noria2019-02-281-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A string S matches ([.]|\b)html if an only if matches \bhtml: * If S matches [.]html, then it matches \bhtml. * If S matches \bhtml, then it matches \bhtml. Reciprocally: * If S matches \bhtml, then it matches ([.]|\b)html. The character class can be removed, and since we are on it we remove the group too so that it is clear to a reader of the code that there is no grouping going on. References #35166.
* | | Merge pull request #35411 from rails/pass-locals-to-templateAaron Patterson2019-02-267-55/+46
|\ \ \ | | | | | | | | 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-256-26/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | [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-253-2/+4
| | |
* | | 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]
* | Templates have one formatAaron Patterson2019-02-2515-29/+41
| | | | | | | | | | | | | | 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.
* | 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-255-12/+25
| | | | | | | | | | This means we can eliminate nil checks and remove some mutations from the `decorate` method.
* | 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 #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`.
* | | Merge pull request #35369 from rails/fewer-lookup-context-callsAaron Patterson2019-02-222-6/+6
|\ \ \ | | | | | | | | Pass lookup context to the layout handlers
| * | | Pass lookup context to the layout handlersAaron Patterson2019-02-222-6/+6
| |/ / | | | | | | | | | | | | | | | | | | 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.