Commit Graph

326 Commits

Author SHA1 Message Date
Rafael Mendonça França
274d5e45e0 Merge pull request #14329 from pch/digestor-lookup-fix
Ensure LookupContext in Digestor selects correct variant
2014-03-14 14:58:34 -03:00
Łukasz Strzałkowski
2c2326e6ea Introduce #with_formats_and_variants to prevent problems with mutating finder object 2014-03-14 13:41:06 +01:00
Łukasz Strzałkowski
9f677bf043 Add mocked disable_cache for FixtureFinder 2014-03-14 13:18:21 +01:00
Łukasz Strzałkowski
03b8922ee4 Set format in finder 2014-03-14 13:18:21 +01:00
Łukasz Strzałkowski
3b9daf0ff9 Rename _setup_options to _options_for_digest 2014-03-14 13:18:20 +01:00
Łukasz Strzałkowski
4725d58896 Disable LookupContext's cache when looking for template 2014-03-14 13:18:20 +01:00
Łukasz Strzałkowski
48a6baea5e Don't pass hash as keys to #find method 2014-03-14 13:18:20 +01:00
Łukasz Strzałkowski
c63b18de18 Add variants to Template class 2014-03-14 13:18:14 +01:00
Łukasz Strzałkowski
0ca6836a5a Don't create addition vars, use options[] directly 2014-03-13 17:53:23 +01:00
Cakey | Buddy Magsipoc
b87962f3a8 Fix 'fields_for' doc typo. 2014-03-10 20:10:38 +08:00
Kenny Meyer
b5dc91deaa Enhance readability of ActionView DateHelper#distance_of_time_in_words
Refactor numerical constants to module constants which give the numbers
a contextual meaning. This commit aims to provide quicker understanding
for part of the implementation of the
DateHelper#distance_of_time_in_words method.
2014-03-09 21:54:01 -03:00
Piotr Chmolowski
025c691536 Ensure LookupContext in Digestor selects correct variant
Related to: #14242 #14243 14293

Variants passed to LookupContext#find() seem to be ignored, so
I've used the setter instead: `finder.variants = [ variant ]`.

I've also added some more test cases for variants. Hopefully this
time passing tests will mean it actually works.
2014-03-09 08:47:17 +01:00
Vijay Dev
70ff31d69f Merge branch 'master' of github.com:rails/docrails
Conflicts:
	guides/source/4_1_release_notes.md
2014-03-07 20:58:11 +05:30
Aaron Patterson
b7192143ed Merge pull request #14285 from sikachu/master-revert-render-body-remove-content-type
Do note remove `Content-Type` when `render :body`
2014-03-06 08:22:43 -08:00
Hendy Tanata
589d1ed722 Update doc for TagHelper. 2014-03-05 11:54:18 -08:00
Prem Sichanugrist
2dd2fcf896
Introduce Rails.gem_version
This method return `Gem::Version.new(Rails.version)`, suggesting a more
reliable way to perform version comparison.

Example:

    Rails.version #=> "4.1.2"
    Rails.gem_version #=> #<Gem::Version "4.1.2">

    Rails.version > "4.1.10" #=> false
    Rails.gem_version > Gem::Version.new("4.1.10") #=> true
    Gem::Requirement.new("~> 4.1.2") =~ Rails.gem_version #=> true

This was originally introduced as `.version` by @charliesome in #8501
but got reverted in #10002 since it was not backward compatible.

Also, updating template for `rake update_versions`.
2014-03-05 12:37:38 -05:00
Prem Sichanugrist
ed88a601f7
Do note remove Content-Type when render :body
`render :body` should just not set the `Content-Type` header. By
removing the header, it breaks the compatibility with other parts.

After this commit, `render :body` will returns `text/html` content type,
sets by default from `ActionDispatch::Response`, and it will preserve
the overridden content type if you override it.

Fixes #14197, #14238

This partially reverts commit 3047376870d4a7adc7ff15c3cb4852e073c8f1da.
2014-03-05 10:33:52 -05:00
Piotr Chmolowski
1858cc6070 Variants in ActionView::Digestor
Take variants into account when calculating template digests in
ActionView::Digest.

Digestor#digest now takes a hash as an argument to support variants and
allow more flexibility in the future. Old-style arguments have been
deprecated.

Fixes #14242
2014-03-04 15:02:58 +01:00
Carlos Antonio da Silva
7231a135ea Use 1.9 style hash on docs [ci skip] 2014-03-04 08:25:15 -03:00
Carlos Antonio da Silva
8b1ccd5949 Simplify handling of defaults/options in button_tag
There's no need to rely on Active Support's Hash#reverse_merge for
simple cases with default values, since we can just merge from the
default rather than reverse merge from the options.

This also avoids the creation of one extra hash object by moving to a
Hash#merge! call.
2014-03-04 08:23:00 -03:00
Godfrey Chan
ecda6dfbdc Added missing changlog entry for #14255 2014-03-04 03:12:30 -08:00
Sergey Prikhodko
e447ed6902 remove private method and rewrite into more precise notation 2014-03-04 13:18:32 +04:00
Sergey Prikhodko
ca1b98a559 rollback to private method 2014-03-03 18:32:29 +04:00
Sergey Prikhodko
d0d2497c2a cleanup and move extracted method right into the helper 2014-03-03 17:59:57 +04:00
Sergey Prikhodko
ed4fc43287 fix content_or_options to be replaced by options and set to nil 2014-03-03 17:16:28 +04:00
Sergey Prikhodko
28c0177524 fix indentations 2014-03-03 16:42:04 +04:00
Sergey Prikhodko
51ff88cf6a fix form button 2014-03-03 16:33:24 +04:00
Sergey Prikhodko
4a7c8ef793 fix button tag without options 2014-03-03 15:48:48 +04:00
Sergey Prikhodko
aa2101ed33 fix accept nil options 2014-03-03 14:57:41 +04:00
Sergey Prikhodko
60bbbce7a3 fixes default attributes for button_tag 2014-03-03 12:23:51 +04:00
Carlos Antonio da Silva
71b3910a7d Point master changelogs to 4-1-stable branch
Remove 4-1 related entries from master [ci skip]
2014-02-25 09:14:36 -03:00
Matt Campbell
44c5813502 [skip ci] Fix typo in link_to :method option description 2014-02-24 14:17:18 -05:00
Yves Senn
947b3cbaa2 refactor, with_locale is not needed because I18n is mocked.
This is a follow up to #14170. While backporting I recognized
that this call is not needed at all.
2014-02-24 19:31:23 +01:00
Vladimir Krylov
2cbc8c40b4 Fix ActionView label translation for more than 10 nested elements 2014-02-24 17:06:57 +02:00
Yves Senn
3007c297d3 refactor, extract with_locale helper. 2014-02-24 10:28:48 +01:00
Yves Senn
c554d170e6 update version to 4.2.0.alpha 2014-02-23 13:14:43 +01:00
Rafael Mendonça França
33cb47ee48 Use the reference for the mime type to get the format
Before we were calling to_sym in the mime type, even when it is unknown
what can cause denial of service since symbols are not removed by the
garbage collector.

Fixes: CVE-2014-0082
2014-02-18 16:12:51 -03:00
Rafael Mendonça França
1879c259b8 Merge branch '4-1-0-beta2'
Conflicts:
	actionview/CHANGELOG.md
	activerecord/CHANGELOG.md
2014-02-18 16:00:47 -03:00
Rafael Mendonça França
8b20c72dd8 Preparing for 4.1.0.beta2 release 2014-02-18 15:45:20 -03:00
Rafael Mendonça França
08d0a11a3f Escape format, negative_format and units options of number helpers
Previously the values of these options were trusted leading to
potential XSS vulnerabilities.

Fixes: CVE-2014-0081
2014-02-18 15:38:50 -03:00
Prem Sichanugrist
3047376870 Add #no_content_type attribute to AD::Response
Setting this attribute to `true` will remove the content type header
from the request. This is use in `render :body` feature.
2014-02-18 12:11:41 -05:00
Prem Sichanugrist
9fe506e394 Add missing CHANGELOG entry to Action View 2014-02-18 12:11:41 -05:00
Prem Sichanugrist
243e6e4b2a Fix a fragile test on action_view/render
This test were assuming that the list of render options will always be
the same. Fixing that so this doesn't break when we add/remove render
option in the future.
2014-02-18 12:08:36 -05:00
Prem Sichanugrist
920f3ba266 Introduce render :html for render HTML string
This is an option for to HTML content with a content type of
`text/html`. This rendering option calls `ERB::Util.html_escape`
internally to escape unsafe HTML string, so you will have to mark your
string as html safe if you have any HTML tag in it.

Please see #12374 for more detail.
2014-02-18 12:08:36 -05:00
Prem Sichanugrist
8cd9f6d205 Introduce render :plain for render plain text
This is as an option to render content with a content type of
`text/plain`. This is the preferred option if you are planning to render
a plain text content.

Please see #12374 for more detail.
2014-02-18 12:08:36 -05:00
Prem Sichanugrist
103e18c87d Introduce render :body for render raw content
This is an option for sending a raw content back to browser. Note that
this rendering option will unset the default content type and does not
include "Content-Type" header back in the response.

You should only use this option if you are expecting the "Content-Type"
header to not be set. More information on "Content-Type" header can be
found on RFC 2616, section 7.2.1.

Please see #12374 for more detail.
2014-02-18 12:08:36 -05:00
Xavier Noria
5f295aebdb implements new option :month_format_string for date select helpers [Closes #13618] 2014-02-15 10:27:15 +01:00
Lukasz Strzalkowski
f9b6b865e6 Variant negotiation
Allow setting `request.variant` as an array - an order in which they will be
rendered.

For example:

  request.variant = [:tablet, :phone]

  respond_to do |format|
    format.html.none
    format.html.phone # this gets rendered
  end
2014-02-13 16:22:56 +01:00
Iain Beeston
5b793a8add Added tests to render helper that expect render partial: @foo to
automatically call @foo.to_partial_path

Calling `render @foo` allows local variables but not options to be
passed to the partial renderer. The correct way to render an object AND
pass options to the partial renderer is to pass the object in the
`:partial` parameter. However, there were previously no tests for this
behaviour (in `render_helper_test.rb` at least).
2014-02-12 17:40:52 +00:00
Yves Senn
28abd967fc Merge pull request #11770 from timruffles/doc_ajax_xhr
be more specific about csrf token and ajax - not whitelisted outside of jquery-rails [ci skip]
2014-02-03 08:38:44 -08:00