aboutsummaryrefslogtreecommitdiffstats
path: root/actionview
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Revert "Merge pull request #34387 from ↵Kasper Timm Hansen2019-01-081-0/+3
| | | | | | | | yhirano55/rails_info_properties_json"" I reverted the wrong commit. Damn it. This reverts commit f66a977fc7ae30d2a07124ad91924c4ee638a703.
* Revert "Merge pull request #34387 from yhirano55/rails_info_properties_json"Kasper Timm Hansen2019-01-081-3/+0
| | | | | | | | | | | We had a discussion on the Core team and we don't want to expose this information as a JSON endpoint and not by default. It doesn't make sense to expose this JSON locally and this controller is only accessible in dev, so the proposed access from a production app seems off. This reverts commit 8eaffe7e89719ac62ff29c2e4208cfbeb1cd1c38, reversing changes made to b6e4305c3bca4c673996d0af9db0f4cfbf50215e.
* Merge pull request #34797 from ↵Eileen M. Uchitelle2019-01-045-5/+63
|\ | | | | | | | | gsamokovarov/views-without-defined-protect-against-forgery Don't expect defined protect_against_forgery? in {token,csrf_meta}_tag
| * Don't expect defined protect_against_forgery? in {token,csrf_meta}_tagGenadi Samokovarov2018-12-275-5/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `#csrf_meta_tags` and `#token_tag` Action View helper methods are expecting the class in which are included to explicitly define the method `#protect_against_forgery?` or else they will fail with `NoMethodError`. This is a problem if you want to use Action View outside of Rails applications. For example, in #34788 I used the `#button_to` helper inside of the error pages templates that have a custom `ActionView::Base` subclass, which did not defined `#protect_against_forgery?` and trying to call the button failed. I had to dig inside of Action View to find-out what's was going on. I think we should either set a default method implementation in the helpers or check for the method definition, but don't explicitly require the presence of `#protect_against_forgery?` in every `ActionViews::Base` subclass as the errors are hard to figure out.
* | Bump license years for 2019Arun Agrawal2018-12-313-3/+3
|/
* Generate doc of methods provided by form builders [ci skip]yuuji.yaginuma2018-12-261-0/+221
| | | | | | | | Because method arguments are different in the methods provided by form helpers and form builders, I think these are necessary to prevent confusion. Fixes #34787
* Merge pull request #34764 from kamipo/avoid_redundant_beginRyuta Kamizono2018-12-211-7/+5
|\ | | | | Enable `Style/RedundantBegin` cop to avoid newly adding redundant begin block
| * Enable `Style/RedundantBegin` cop to avoid newly adding redundant begin blockRyuta Kamizono2018-12-211-7/+5
| | | | | | | | | | | | | | | | | | | | Currently we sometimes find a redundant begin block in code review (e.g. https://github.com/rails/rails/pull/33604#discussion_r209784205). I'd like to enable `Style/RedundantBegin` cop to avoid that, since rescue/else/ensure are allowed inside do/end blocks in Ruby 2.5 (https://bugs.ruby-lang.org/issues/12906), so we'd probably meets with that situation than before.
* | Fix integer regex deprecation warnings for Ruby 2.6.0 (#34728)Vinicius Stock2018-12-212-1/+2
|/ | | | | * Fix integer regex deprecation warnings for Ruby 2.6.0 * Define =~ in FakeZone to avoid warnings from Ruby 2.6.0
* Module#{define_method,alias_method,undef_method,remove_method} become public ↵Ryuta Kamizono2018-12-212-3/+3
| | | | | | since Ruby 2.5 https://bugs.ruby-lang.org/issues/14133
* Require Ruby 2.5 for Rails 6.Kasper Timm Hansen2018-12-192-3/+3
| | | | | | | | | | Generally followed the pattern for https://github.com/rails/rails/pull/32034 * Removes needless CI configs for 2.4 * Targets 2.5 in rubocop * Updates existing CHANGELOG entries for fewer merge conflicts * Removes Hash#slice extension as that's inlined on Ruby 2.5. * Removes the need for send on define_method in MethodCallAssertions.
* Merge pull request #34635 from WoH/data-disable-foreverJavan Makhmali2018-12-183-0/+29
|\ | | | | UJS: Do not disable previously disabled elements
| * Do not disable previously disabled elementsWoH2018-12-063-0/+29
| |
* | Fix `View.new` method call with arguments syntaxRyuta Kamizono2018-12-181-1/+1
| | | | | | [ci skip]
* | Fix doc formattingT.J. Schuck2018-12-171-4/+5
| | | | | | | | [ci skip]
* | use match?pavel2018-12-121-1/+1
| |
* | Fix typos in click test descriptions [ci skip]Ivan Kuchin2018-12-101-2/+2
|/
* Prevent unintended mouse keys from firing click eventsWoH2018-12-057-6/+100
| | | | | Firefox fires click events on left-, right- and scroll-wheel (any non-primary mouse key) clicks while other browsers don't.
* Prevent TextHelper#word_wrap from stripping white space on the leftLyle Mullican2018-11-193-1/+23
| | | | side of long lines; Fixes #34487
* Fix broken CHANGELOG markup [ci skip]Ryuta Kamizono2018-11-081-1/+1
| | | | And remove trailing spaces.
* Amend CVE note and security guide section wordingsGannon McGibbon2018-11-061-3/+3
| | | | | | | Reword first sentence of dep management and CVE section of security guide. Also, reword and move gemspec notes above deps. [ci skip]
* Add CVE note to security guide and gemspecsGannon McGibbon2018-11-061-0/+3
| | | | [ci skip]
* Added maxlength example to text_field documentationRaghu Kamat2018-10-251-0/+3
| | | | | | | | | | | The usage of maxlength in the text_field helper adds a size attribute to the generated text_field input with the same value as the maxlength. This implicit addition of size attribute by the method gives a false impression that it may be bug. By adding the implementation of the maxlength to the api docs, we explicitly tell the reader referring the api doc that addition of size along with maxlength is the expected behaviour. [ci skip]
* 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