aboutsummaryrefslogtreecommitdiffstats
path: root/actionview
Commit message (Collapse)AuthorAgeFilesLines
* Add allocations to template renderer subscriptionEileen Uchitelle2018-10-104-10/+22
| | | | | | | | | | | | | | | | | | | | | | | This PR adds the allocations to the instrumentation for template and partial rendering. Before: ``` Rendering posts/new.html.erb within layouts/application Rendered posts/_form.html.erb (9.7ms) Rendered posts/new.html.erb within layouts/application (10.9ms) Completed 200 OK in 902ms (Views: 890.8ms | ActiveRecord: 0.8ms) ``` After: ``` Rendering posts/new.html.erb within layouts/application Rendered posts/_form.html.erb (Duration: 7.1ms | Allocations: 6004) Rendered posts/new.html.erb within layouts/application (Duration: 8.3ms | Allocations: 6654) Completed 200 OK in 858ms (Views: 848.4ms | ActiveRecord: 0.4ms | Allocations: 1539564) ```
* Merge pull request #33324 from ↵Ryuta Kamizono2018-10-083-11/+27
|\ | | | | | | | | Jcambass/fix-only-path-option-in-url-for-with-arrays respect only_path option when an array is passed into url_for
| * respect path_only option when an array is passed into url_forJoel Ambass2018-10-013-11/+27
| | | | | | | | | | | | | | | | The url_for method is now extracting the path_only option in order to determine if polymorphic_path or polymorphic_url should be called. If the path_only option is not set it will be set to true unless the host option is set. This behaviour is the same as when a Hash or Params object is passed. To support this unifying the code responsible for setting this default value has been extracted into a private method
* | Fix rubocop issuebogdanvlviv2018-10-031-1/+1
| | | | | | | | | | | | | | | | Fixes: `Layout/TrailingWhitespace: Trailing whitespace detected. See https://codeclimate.com/github/rails/rails/issues Releted to b707a6d0eb7
* | Fix spellings for 'unmarshall(ing/ed)' & 'marshall(ing/ed)'Sharang Dashputre2018-10-021-3/+3
| |
* | Merge pull request #32031 from yahonda/remove_redundant_freezeRyuta Kamizono2018-10-0114-47/+47
|\ \ | | | | | | Add `Style/RedundantFreeze` to remove redudant `.freeze`
| * | Add `Style/RedundantFreeze` to remove redudant `.freeze`Yasuo Honda2018-09-2914-47/+47
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Rails 6.0 will support Ruby 2.4.1 or higher `# frozen_string_literal: true` magic comment is enough to make string object frozen. This magic comment is enabled by `Style/FrozenStringLiteralComment` cop. * Exclude these files not to auto correct false positive `Regexp#freeze` - 'actionpack/lib/action_dispatch/journey/router/utils.rb' - 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb' It has been fixed by https://github.com/rubocop-hq/rubocop/pull/6333 Once the newer version of RuboCop released and available at Code Climate these exclude entries should be removed. * Replace `String#freeze` with `String#-@` manually if explicit frozen string objects are required - 'actionpack/test/controller/test_case_test.rb' - 'activemodel/test/cases/type/string_test.rb' - 'activesupport/lib/active_support/core_ext/string/strip.rb' - 'activesupport/test/core_ext/string_ext_test.rb' - 'railties/test/generators/actions_test.rb'
* | Explain why we have explicit marshaling methodsDavid Heinemeier Hansson2018-09-301-2/+6
| |
* | make actionview templates marshalable so that they can be serialized during ↵lsylvester2018-09-302-0/+16
|/ | | | the parallel tests (#34030)
* Do not enable disabled elements for XHR redirectsPatrik Bóna2018-09-274-2/+37
| | | | Fixes #29473.
* Merge pull request #33975 from JuanitoFatas/jf.fix-test-nameRafael França2018-09-251-1/+1
|\ | | | | [CaptureHelperTest] Fix a content_for test description
| * Fix a content_for test descriptionJuanito Fatas2018-09-251-1/+1
| |
* | Fix more offencesRafael Mendonça França2018-09-253-3/+3
| |
* | Change the empty block style to have space inside of the blockRafael Mendonça França2018-09-256-19/+19
| |
* | Merge pull request #33973 from rails/remove-catch-allAaron Patterson2018-09-2517-78/+290
|\ \ | | | | | | Remove deprecated catch-all route in the AV tests
| * | make bot happyAaron Patterson2018-09-244-9/+9
| | |
| * | Remove deprecated catch-all route in the AV testsAaron Patterson2018-09-2417-78/+290
| |/ | | | | | | | | | | | | | | This commit removes a deprecated catch-all route in the AV tests. It defines and includes the necessary routes for each test such that we don't need the catch-all anymore. This also helps push us toward #33970
* | Merge pull request #33949 from sjain1107/no-private-defKasper Timm Hansen2018-09-232-14/+18
|\ \ | | | | | | Remove private def
| * | Remove private defSakshi Jain2018-09-232-14/+18
| | |
* | | Enable `Performance/UnfreezeString` copyuuji.yaginuma2018-09-2321-225/+225
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ruby 2.3 or later, `String#+@` is available and `+@` is faster than `dup`. ```ruby # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org" gem "benchmark-ips" end Benchmark.ips do |x| x.report('+@') { +"" } x.report('dup') { "".dup } x.compare! end ``` ``` $ ruby -v benchmark.rb ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] Warming up -------------------------------------- +@ 282.289k i/100ms dup 187.638k i/100ms Calculating ------------------------------------- +@ 6.775M (± 3.6%) i/s - 33.875M in 5.006253s dup 3.320M (± 2.2%) i/s - 16.700M in 5.032125s Comparison: +@: 6775299.3 i/s dup: 3320400.7 i/s - 2.04x slower ```
* | Merge pull request #33564 from avit/escape_javascript_castingRafael França2018-09-212-4/+9
|\ \ | | | | | | Let escape_javascript handle conversion to string
| * | Let escape_javascript handle conversion to stringAndrew Vit2018-09-212-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings `escape_javascript` in line with the behavior of `json_escape` and allows other value types to be output without needing explicit casting in the view template. Example: <%= javascript_tag do %> var locale = '<%== j I18n.locale %>'; // locale is a symbol <% end %>
* | | [ci skip] document collection_caching.rbschneems2018-09-191-0/+35
| |/ |/|
* | Fix for variants: :any special caseJohn Hawthorn2018-09-121-1/+3
| |
* | Use wildcard glob for optimized template resolvingJohn Hawthorn2018-09-121-13/+51
| |
* | Move digest path calculation out of loopschneems2018-09-112-10/+22
| | | | | | | | | | | | | | | | | | | | | | On every iteration of generating a cache for a collection a “digest path” is calculated even though it’s exactly the same for every element. This PR exposes a method `digest_path_from_virtual` that returns back a “digest_path”. This can in turn be passed back into `cache_fragment_name`. This not only does less work, but it also (you guessed it) uses less memory. before: Total allocated: 762539 bytes (7035 objects) after: Total allocated: 743590 bytes (6621 objects) (762539 - 743590)/ 762539.0 # => 2.4% faster ⚡️⚡️
* | Don’t allocate array on no argsschneems2018-09-073-6/+9
| | | | | | | | | | | | | | | | | | | | When no dependencies are present to be digested there is no reason to build an array just to turn around and turn it back into a string. The dependencies array is not mutated in this method so we can use the same empty array across all invocations. Total allocated: 791402 bytes (7294 objects) Total allocated: 777442 bytes (7132 objects) (791402 - 777442) / 791402.0 # => 1.76 % speed improvement
* | Formatting CHANGELOGs [ci skip]Ryuta Kamizono2018-09-071-3/+9
| | | | | | | | Fixing code block rendering, indentation, backticks, etc.
* | [ci skip] Doc ActionView::OutputBufferschneems2018-09-062-3/+17
| |
* | [ci skip] Clarify CaptureHelper#capture functionschneems2018-09-061-0/+5
| |
* | Merge pull request #33718 from kddeisz/permit-listMatthew Draper2018-08-292-4/+14
|\ \ | | | | | | Finish converting whitelist and blacklist references
| * | Permit list usage cleanup and clearer documentationKevin Deisz2018-08-272-7/+7
| | |
| * | Deprecate usage of ActionView::Template::Handlers::ERB::escape_whitelistKevin Deisz2018-08-241-2/+12
| | |
| * | Convert over the rest of the whitelist referencesKevin Deisz2018-08-241-2/+2
| | |
* | | Add `:namespace` option to the api docs of `form_with` [ci skip]bogdanvlviv2018-08-271-0/+3
|/ /
* | Merge pull request #33547 from Ana06/patch-1Matthew Draper2018-08-233-3/+34
|\ \ | | | | | | | | | Use public_send in value_for_collection
| * | Add tests for privates methods in view's helpersAna María Martínez Gómez2018-08-081-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | Test that using private methods in `options_from_collection_for_select` is deprecated. Make the unused `secret` paramether in the `Post` Struct private to use it in the test.
| * | Deprecate use of private methods in view's helpersAna María Martínez Gómez2018-08-082-4/+14
| | | | | | | | | | | | | | | Instead of dropping it completely in case someone is relying (probably inadvertenly) on it.
| * | Add one more method affected in CHANGELOGAna María Martínez Gómez2018-08-081-2/+3
| | |
| * | Use public_send in extract_values_from_collectionAna María Martínez Gómez2018-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid exposing private methods in view's helpers. However, as `extract_values_from_collection` is only called from `options_from_collection_for_select` where `value_for_collection` is previously called, this case was already covered. The change makes anyway sense for consistency and in case the code changes in the future.
| * | Use public_send in value_for_collectionAna María Martínez Gómez2018-08-072-1/+11
| | | | | | | | | | | | | | | | | | Avoid exposing private methods in view's helpers. Fixes https://github.com/rails/rails/issues/33546
* | | Merge pull request #31132 from ↵Ryuta Kamizono2018-08-201-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | emaxi/feature/add-missing-documentation-option-to-number-to-currency Add missing documentation option to number_to_currency [ci skip]
| * | | Add missing documentation options to number_to_currency [ci skip]emaxi2018-07-111-0/+5
| | | |
* | | | Enable Style/ParenthesesAroundCondition copRyuta Kamizono2018-08-192-2/+2
| | | | | | | | | | | | | | | | To prevent style check in review like https://github.com/rails/rails/pull/33608#discussion_r211087605.
* | | | Fix unclosed tags [ci skip]yuuji.yaginuma2018-08-181-1/+1
| |_|/ |/| |
* | | Update coffeelint to 2.1.0Prem Sichanugrist2018-08-131-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | There was a warning when running `npm install` in Action View: coffee-script@1.11.1: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) We are not requiring `coffee-script` explicitly, but `coffeelint` does. The latest version, 2.1.0, already fix the dependency package name, so we should upgrade to it to suppress the warning.
* | [ci skip] Change references from Rake task to Rails commandAlberto Almagro2018-08-011-2/+3
| | | | | | | | | | This commit follows the path we started at commit #ea4f0e2 and continued at PR #33229.
* | Throw if ujs loaded twiceKazuhiro NISHIYAMA2018-07-311-1/+2
| | | | | | | | | | | | | | | | I saw two posts of problem about ajax requesting twice on qiita. So I think detecting double loaded earlier make easy to find the problem. https://qiita.com/hot_study_man/items/56dc87ad734cfda68bb6 https://qiita.com/hisas/items/8399aec3a5377bf75017
* | Enable Start/EndWith and RegexpMatch copsBart de Water2018-07-283-3/+3
| | | | | | | | | | In cases where the MatchData object is not used, this provides a speed-up: https://github.com/JuanitoFatas/fast-ruby/#stringmatch-vs-stringmatch-vs-stringstart_withstringend_with-code-start-code-end
* | Turn on performance based copsDillon Welch2018-07-232-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use attr_reader/attr_writer instead of methods method is 12% slower Use flat_map over map.flatten(1) flatten is 66% slower Use hash[]= instead of hash.merge! with single arguments merge! is 166% slower See https://github.com/rails/rails/pull/32337 for more conversation