aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate `*_path` methods in mailers@schneems and @sgrif2014-07-301-2/+3
| | | | | | | | | | | Email does not support relative links since there is no implicit host. Therefore all links inside of emails must be fully qualified URLs. All path helpers are now deprecated. When removed, the error will give early indication to developers to use `*_url` methods instead. Currently if a developer uses a `*_path` helper, their tests and `mail_view` will not catch the mistake. The only way to see the error is by sending emails in production. Preventing sending out emails with non-working path's is the desired end goal of this PR. Currently path helpers are mixed-in to controllers (the ActionMailer::Base acts as a controller). All `*_url` and `*_path` helpers are made available through the same module. This PR separates this behavior into two modules so we can extend the `*_path` methods to add a Deprecation to them. Once deprecated we can use this same area to raise a NoMethodError and add an informative message directing the developer to use `*_url` instead. The module with warnings is only mixed in when a controller returns false from the newly added `supports_relative_path?`. Paired @sgrif & @schneems
* docs, cleanup mixed indents within `form_options_helper.rb` RDoc.Yves Senn2014-07-291-81/+81
| | | | | | | [ci skip] This fixes the broken code block rendering and indents the examples within the parameter list.
* Fix that render layout should also be picked up by the template dependency ↵David Heinemeier Hansson2014-07-251-4/+10
| | | | tracker, but only half-ways. You can add that layout option on the same render call, and both templates should be added to the dependency tree. But thats going to require a more serious rework of the tracker. Please do help fix this part of it too. For now, render layout needs to be on its own line.
* marking private methods which dont work if called on their own anywaysEugene Gilburg2014-07-182-1/+5
|
* small refactors to actionview renderersEugene Gilburg2014-07-183-16/+15
|
* Prefer to pass block when logging.Guo Xiang Tan2014-07-181-5/+5
| | | | | | | | The Logger by default includes a guard which checks for the logging level. By removing the custom logging guards, we can decouple the logging guard from the logging action to be done. This also follows the good practice listed on http://guides.rubyonrails.org/debugging_rails_applications.html#impact-of-logs-on-performance.
* docs, `select` and friends with `multiple=true` include a blank string.Yves Senn2014-07-171-5/+3
| | | | | | | | | | | | | | [Jonas Baumann & Yves Senn] The submitted params from a select with `multiple: true` look as follows: ``` {post: {category: [""]}} {post: {category: ["", "Category 1", "Category 2"]}} ``` This is a follow up to #1552.
* Fix broken list formatting [ci skip]noinkling2014-07-171-5/+5
|
* Use &= instead of select with include?Rafael Mendonça França2014-07-161-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The performance is almost the same with both implementations but this is clear. Before this patch: Calculating ------------------------------------- small erb template 1452 i/100ms ------------------------------------------------- small erb template 17462.1 (±13.3%) i/s - 85668 in 5.031395s .Calculating ------------------------------------- small erb template with 1 partial 887 i/100ms ------------------------------------------------- small erb template with 1 partial 8899.6 (±18.8%) i/s - 42576 in 5.009453s .Calculating ------------------------------------- small erb template with 2 partials 666 i/100ms ------------------------------------------------- small erb template with 2 partials 6821.5 (±8.8%) i/s - 33966 in 5.020791s After the patch: Calculating ------------------------------------- small erb template 1479 i/100ms ------------------------------------------------- small erb template 15956.6 (±7.6%) i/s - 79866 in 5.036001s .Calculating ------------------------------------- small erb template with 1 partial 841 i/100ms ------------------------------------------------- small erb template with 1 partial 9242.2 (±6.9%) i/s - 46255 in 5.029497s .Calculating ------------------------------------- small erb template with 2 partials 615 i/100ms ------------------------------------------------- small erb template with 2 partials 6524.7 (±6.8%) i/s - 32595 in 5.020456s You can find the benchmark code at https://gist.github.com/rafaelfranca/dee31120cfdb1ddc3b56
* Merge pull request #15917 from luke-gru/actionview_perfRafael Mendonça França2014-07-161-1/+1
|\ | | | | | | remove Set.new from DetailsKey::get, impacts rendering overhead
| * remove Set.new from DetailsKey::get, impacts rendering overhead performanceLuke Gruber2014-06-251-1/+1
| | | | | | | | | | | | | | | | | | Using ruby-prof, I noticed that Set#add had the largest 'self time' percentage (5% of the overall time spent rendering) when benchmarking the rendering of a small cached ERB template that was 3 lines long. It turns out it was from this line. I don't believe the Set is necessary, either. Removing this line increases the rendering ips using Benchmark::ips accordingly.
* | Fix typo on the variable nameRafael Mendonça França2014-07-161-8/+8
| |
* | Document the PartialIteration objectRafael Mendonça França2014-07-161-3/+9
| |
* | Build only one PartialIteration object for loopRafael Mendonça França2014-07-161-11/+18
| |
* | No need to have a file to PartialIteration classRafael Mendonça França2014-07-161-1/+17
| | | | | | | | This class is only used on the PartialRenderer.
* | Added PartialIteration class used when rendering collectionsJoel Junström2014-07-161-13/+28
| | | | | | | | | | | | | | | | | | | | | | | | The iteration object is available as the local variable "template_name_iteration" when rendering partials with collections. It gives access to the +size+ of the collection beeing iterated over, the current +index+ and two convinicence methods +first?+ and +last?+ "template_name_counter" variable is kept but is deprecated. [Joel Junström + Lucas Uyezu]
* | Merge pull request #16175 from skorks/log_digestor_as_debugRafael Mendonça França2014-07-151-1/+1
|\ \ | | | | | | Log digest as :debug instead of :info
| * | Log digest as :debug instead of :infoAlan Skorkin2014-07-151-1/+1
| | |
* | | Merge pull request #16161 from jpawlyn/masterAndrew White2014-07-151-1/+1
|\ \ \ | |/ / |/| | Fix empty host for an asset url when asset_host proc returns nil
| * | Return an absolute instead of relative path from an asset url in the case of ↵Jolyon Pawlyn2014-07-151-1/+1
| | | | | | | | | | | | the `asset_host` proc returning nil
* | | Fix typos like `a html` to `an html` and 'an mail' to 'an email'. [ci skip]Santosh Wadghule2014-07-141-1/+1
|/ /
* | Include missing module in tag_helperCarlos Antonio da Silva2014-07-091-0/+1
| | | | | | | | | | | | | | | | | | Since 6857415187810f1289068a448268264d0cf0844f we are using #safe_join to join the content when an Array is given, so we must include the dependent module here to make sure it's available when this module is used alone. This was making Simple Form tests to fail with current master due to the missing dependency.
* | [ci skip] /javascript/ -> JavaScript - cover whole appAkshay Vishnoi2014-07-041-2/+2
| |
* | Use if/elseRafael Mendonça França2014-06-301-2/+5
| | | | | | | | | | Since we are using both branches of the code is preferable to use if/else over the early return.
* | Add String support for min/max attributes on DatetimeFieldTodd Bealmear2014-06-302-2/+55
| |
* | Tiny documentation fixes [ci skip]Robin Dupret2014-06-291-1/+1
| |
* | Rename options param of #time_ago_in_words to match API changeMax Kramer2014-06-281-2/+2
|/ | | Rename `include_seconds_or_options` to `options` to match 6b9356a (which removed the deprecation introduced by #6077). This has no functional impact because the parameter is passed directly through, but makes it clearer that the parameter no longer supports a boolean as input.
* Deal with regex match groups in excerptGareth Rees2014-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original implementation has bugs if the regex contains a match group. Example: excerpt('This is a beautiful? morning', /\b(beau\w*)\b/i, :radius => 5) Expected: "...is a beautiful? mor..." Actual: "...is a beautifulbeaut..." The original phrase was being converted to a regex and returning the text either side of the phrase as expected: 'This is a beautiful? morning'.split(/beautiful/i, 2) # => ["This is a ", "? morning"] When we have a match with groups the match is returned in the array. Quoting the ruby docs: "If pattern is a Regexp, str is divided where the pattern matches. [...] If pattern contains groups, the respective matches will be returned in the array as well." 'This is a beautiful? morning'.split(/\b(beau\w*)\b/iu, 2) # => ["This is a ", "beautiful", "? morning"] If we assume we want to split on the first match – this fix makes that assumption – we can pass the already assigned `phrase` variable as the place to split (because we already know that a match exists from line 168). Originally spotted by Louise Crow (@crowbot) at https://github.com/mysociety/alaveteli/pull/1557
* Merge pull request #15732 from kuldeepaggarwal/correct-assets-ouputRafael Mendonça França2014-06-232-15/+15
|\ | | | | [ci skip] correct output for asset_helper methods
| * [ci skip] correct output for asset_helper methodsKuldeep Aggarwal2014-06-162-15/+15
| | | | | | | | see cc255d3
* | Merge pull request #15450 from aditya-kapoor/remove-nbsp-debugRafael Mendonça França2014-06-191-6/+6
|\ \ | | | | | | remove unnecessary gsub for space in ActionView::Helpers#debug
| * | remove unnecessary substitution for space in ActionView::Helpers#debugAditya Kapoor2014-06-141-6/+6
| |/
* | 'TextHelper#highlight' now accepts a block to highlight the matched words.Lucas Mazza2014-06-191-3/+14
| | | | | | | | | | | | | | | | The helper will yield each matched word, and you can use this instead of the ':highlighter' option for more complex replacing logic: highlight('My email is me@work.com', EMAIL_REGEXP) { |m| mail_to(m) } # => 'My email is <a href="mailto:me@work.com">me@work.com</a>'
* | highlight() now accepts regular expressions as well.Jan Szumiec2014-06-191-4/+6
| |
* | excerpt() now accepts regular expression instances as phrases.Jan Szumiec2014-06-191-3/+7
| |
* | [ci skip] /javascript/ ~> JavaScriptAditya Kapoor2014-06-171-1/+1
|/
* Merge pull request #15693 from pdg137/enforce_utf8Matthew Draper2014-06-143-7/+7
|\ | | | | | | In actionview, eliminate calls to tag that use html_safe parameter values.
| * In actionview, eliminate calls to tag that use html_safe parameter values. ↵Paul Grayson2014-06-133-8/+7
|/ | | | This is generally unnecessary, since tag handles string quoting, except in one case (utf8_enforcer_tag) where we want to specify the encoding ourselves.
* Builder source code is still available on github [ci skip]Zachary Scott2014-06-131-0/+3
| | | | This was also removed from #15542
* Merge pull request #15654 from pdg137/masterMatthew Draper2014-06-132-6/+9
|\ | | | | | | In tag helper, honor html_safe on arrays; also make safe_join more similar to Array.join
| * In tag helper, honor html_safe on array parameters; also make safe_join more ↵Paul Grayson2014-06-122-7/+19
| | | | | | | | similar to Array.join by first calling flatten.
* | Merge pull request #15590 from ↵Yves Senn2014-06-121-0/+9
|\ \ | |/ |/| | | | | | | | | | | | | zuhao/refactor_actionview_register_template_handler Add unregister_template_handler to prevent leaks. Conflicts: actionview/CHANGELOG.md
| * Add unregister_template_handler to prevent leaks.Zuhao Wan2014-06-121-0/+9
| |
* | [ci skip] Fix doc for javascript_helperAditya Kapoor2014-06-111-1/+7
| |
* | [ci skip] Add Docs for strip_insignificant_zeros option in number helpersAkshay Vishnoi2014-06-101-10/+8
| |
* | [ci skip] Correct output and use valid options of number helpersAkshay Vishnoi2014-06-101-2/+2
| |
* | Fix cache_digest rake tasksJiri Pospisil2014-06-101-6/+10
|/ | | | | Bring cache_digests:* rake tasks up-to-date with the API changes introduced in 637bb726cac60aaa1f7e482836458aa73e17fbb7
* Merge pull request #15542 from Gaurav2728/gaurav-remove_shutdown_linkArthur Nogueira Neves2014-06-061-2/+0
|\ | | | | remove rubyforge.org that was shut down [ci skip]
| * remove rubyforge.org that was shut down [ci skip]Gaurav Sharma2014-06-061-2/+0
| |
* | Unwrap another html_escapeMatthew Draper2014-06-071-2/+2
| | | | | | | | /cc @tenderlove