aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix javascript_include_tag when no js runtime is availableNoah Silas2013-01-073-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a production environment where the assets have been precompiled, we don't want an assets compile step to happen on the application server at all. To ensure this, a js runtime may not be available on the app servers. In this environment, pages using javascript_include_tag for assets with non-standard or chained extensions were throwing 500 errors. For instance, `javascript_include_tag('jquery.min')` would blow up. Sprockets was attempting to build the assets being included during the rewrite_extension step (responsible for appending a '.js' extension to assets being included by the basename rather than a fully qualified name). This was happening as a step to resolve #6310, which required checking for the presence of an asset with a non-standard extension before appending the extension. We can check for the presence of an asset without invoking the asset build step by using Sprockets' resolve method, which will search for the base file without building it (and is the method that find_asset uses internally to get the path to the asset before attempting to build it). When rewriting the extension on an asset, these are the steps: - If the source does not have an extension, assume that the default extension is desired and append it. - If there is an extension and it doesn't match the default extension, check to see if a file with the precise name specified exists amongst the assets; if it is present, do not append the default extension. (This is the step that resolves #6310).
* Change the encrypted campfire notification tokenRafael Mendonça França2013-01-031-1/+1
| | | | | Conflicts: .travis.yml
* Merge pull request #8718 from jstirk/column_writer_to_i_errorsRafael Mendonça França2013-01-034-8/+31
|\ | | | | Fix undefined method `to_i' introduced since 3.2.8
| * Fix undefined method `to_i' introduced since 3.2.8Jason Stirk2013-01-044-8/+31
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug introduced in 96a13fc7 which breaks behaviour of integer fields in 3.2.8. In 3.2.8, setting the value of an integer field to a non-integer (eg. Array, Hash, etc.) would default to 1 (true) : # 3.2.8 p = Post.new p.category_id = [ 1, 2 ] p.category_id # => 1 p.category_id = { 3 => 4 } p.category_id # => 1 In 3.2.9 and above, this will raise a NoMethodError : # 3.2.9 p = Post.new p.category_id = [ 1, 2 ] NoMethodError: undefined method `to_i' for [1, 2]:Array Whilst at first blush this appear to be sensible, it combines in bad ways with scoping. For example, it is common to use scopes to control access to data : @collection = Posts.where(:category_id => [ 1, 2 ]) @new_post = @collection.new In 3.2.8, this would work as expected, creating a new Post object (albeit with @new_post.category_id = 1). However, in 3.2.9 this will cause the NoMethodError to be raised as above. It is difficult to avoid triggering this error without descoping before calling .new, breaking any apps running on 3.2.8 that rely on this behaviour. This patch deviates from 3.2.8 in that it does not retain the somewhat spurious behaviour of setting the attribute to 1. Instead, it explicitly sets these invalid values to nil : p = Post.new p.category_id = [ 1, 2 ] p.category_id # => nil This also fixes the situation where a scope using an array will "pollute" any newly instantiated records. @new_post = @collection.new @new_post.category_id # => nil Finally, 3.2.8 exhibited a behaviour where setting an object to an integer field caused it to be coerced to "1". This has not been retained, as it is spurious and surprising in the same way that setting Arrays and Heshes was : c = Category.find(6) p = Post.new # 3.2.8 p.category_id = c p.category_id # => 1 # This patch p.category_id = c p.category_id # => nil This commit includes explicit test cases that expose the original issue with calling new on a scope that uses an Array. As this is a common situation, an explicit test case is the best way to prevent regressions in the future. It also updates and separates existing tests to be explicit about the situation that is being tested (eg. AR objects vs. other objects vs. non-integers)
* Merge pull request #8733 from amatsuda/rails32_readme_dir_treeRafael Mendonça França2013-01-031-8/+8
|\ | | | | | | | | update directory tree in the generated README in Rails 3.2 [ci skip]
| * update directory tree in the generated READMEAkira Matsuda2013-01-041-8/+8
|/ | | | [ci skip]
* Merge pull request #8716 from miguelff/3-2-stableRafael Mendonça França2013-01-039-9/+9
|\ | | | | Merged latest released tag (v3.2.10) into the stable branch (3-2-stable)
| * Merge tag 'v3.2.10' into 3-2-stableMiguel2013-01-039-9/+9
| |\ | | | | | | | | | Latest released tag was not fully merged into the stable branch (missed version bumping)
| | * bumping version to 3.2.10Aaron Patterson2012-12-239-9/+9
| | |
* | | Merge pull request #8719 from pcasaretto/fix-actionview-doc-typoCarlos Antonio da Silva2013-01-031-1/+1
|/ / | | | | | | Fix typo on form_tag_helper.rb [ci skip]
* | Use Ruby 1.8 syntaxRafael Mendonça França2013-01-021-2/+2
| |
* | Merge pull request #8703 from senny/backport_8700Rafael Mendonça França2013-01-023-6/+33
|\ \ | | | | | | | | | | | | Backport #8701, do not append a second slash with `trailing_slash: true` Closes #8700
| * | Backport #8701, do not append a second slash with `trailing_slash: true`Yves Senn2013-01-023-6/+33
|/ /
* | Add release date of 3.2.10Rafael Mendonça França2013-01-027-14/+50
| | | | | | | | Fix format and wrong changelog entry
* | Improve CHANGELOG message [ci skip]Rafael Mendonça França2013-01-021-3/+2
| |
* | Merge branch '3-2-stable' into 3-2-secmergeAaron Patterson2013-01-028-272/+56
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 3-2-stable: fix block.arity raise nil error when not given a block to "content_tag_for" removes the Ajax on Rails early draft Revert "Merge pull request #8665 from senny/8661_should_not_append_charset_if_already_present" backport #8662, charset should not be appended for `head` responses Revert "Fix `validates_presence_of` with `:allow_nil` or `:allow_blank` options." Fix `validates_presence_of` with `:allow_nil` or `:allow_blank` options. backport #8616, quote column names in generated fixture files
| * \ Merge pull request #8640 from jasl/3-2-stableRafael Mendonça França2013-01-023-1/+16
| |\ \ | | | | | | | | fix block.arity will raise nil error
| | * | fix block.arity raise nil error when not given a block to "content_tag_for"jasl2013-01-023-1/+16
| | | |
| * | | removes the Ajax on Rails early draftXavier Noria2012-12-311-267/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a few attempts at writing this guide, but we never passed from the work in progress stage. In spite of not being included in the table of contents, this draft was still indexed by bots and showed up in searches. Steve Klabnik has written "Working with JavaScript in Rails" which is going to be released with Rails 4. So better get rid of this altogether.
| * | | Revert "Merge pull request #8665 from ↵Santiago Pastorino2012-12-314-27/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | senny/8661_should_not_append_charset_if_already_present" This reverts commit e48dc194231830f42f179704596b88215f062c23, reversing changes made to d38c8caa48a732d41c7402a5e71deece4e313559.
| * | | Merge pull request #8665 from ↵Santiago Pastorino2012-12-314-4/+27
| |\ \ \ | | |/ / | |/| | | | | | | | | | senny/8661_should_not_append_charset_if_already_present backport #8662, charset should not be appended for `head` responses
| | * | backport #8662, charset should not be appended for `head` responsesYves Senn2012-12-314-4/+27
| |/ / | | | | | | | | | | | | | | | | | | 1) Failure: test_head_created_with_image_png_content_type(RenderTest) [test/controller/render_test.rb:1238]: Expected: "image/png" Actual: "image/png; charset=utf-8"
| * | Revert "Fix `validates_presence_of` with `:allow_nil` or `:allow_blank` ↵Rafael Mendonça França2012-12-263-42/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | options." This reverts commit 93366c7c913bf0883f140fa782d3e198593477be. REASON: This is backward incompatible. Also this behavior is documented on the guides.
| * | Fix `validates_presence_of` with `:allow_nil` or `:allow_blank` options.Rafael Mendonça França2012-12-263-3/+42
| | | | | | | | | | | | | | | | | | Fix #8621 [Colin Kelley + Rafael Mendonça França]
| * | Merge pull request #8618 from senny/backport_8612Rafael Mendonça França2012-12-264-4/+40
| |\ \ | | | | | | | | backport #8616, quote column names in generated fixture files
| | * | backport #8616, quote column names in generated fixture filesYves Senn2012-12-264-4/+40
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: railties/CHANGELOG.md railties/lib/rails/generators/test_unit/model/model_generator.rb railties/lib/rails/generators/test_unit/model/templates/fixtures.yml railties/test/generators/model_generator_test.rb
* | | Merge branch '3-2-sec' into 3-2-secmergeAaron Patterson2012-12-239-6/+47
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 3-2-sec: CVE-2012-5664 options hashes should only be extracted if there are extra parameters updating changelog updating the changelogs updating the changelog for the CVE Add release date of Rails 3.2.9 to documentation Conflicts: actionmailer/CHANGELOG.md actionpack/CHANGELOG.md activemodel/CHANGELOG.md activerecord/CHANGELOG.md activeresource/CHANGELOG.md activesupport/CHANGELOG.md railties/CHANGELOG.md
| * CVE-2012-5664 options hashes should only be extracted if there are extra ↵Aaron Patterson2012-12-232-1/+18
| | | | | | | | parameters
| * updating changelogAaron Patterson2012-12-231-1/+2
| |
| * updating the changelogsAaron Patterson2012-12-235-0/+10
| |
| * updating the changelog for the CVEAaron Patterson2012-12-231-0/+4
| |
| * Add release date of Rails 3.2.9 to documentationclaudiob2012-12-237-7/+7
| | | | | | | | | | | | | | Conflicts: actionpack/CHANGELOG.md activerecord/CHANGELOG.md activesupport/CHANGELOG.md
* | Serialized attribute can be serialized in an integer columnRafael Mendonça França2012-12-215-6/+49
| | | | | | | | | | | | | | | | | | | | Fix #8575 Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/attribute_methods/serialization.rb activerecord/test/cases/serialized_attribute_test.rb activerecord/test/models/person.rb
* | Merge pull request #8558 from senny/backport_3489Carlos Antonio da Silva2012-12-193-1/+19
|\ \ | | | | | | Backport #8522, Keep index names when using with sqlite3
| * | Backport #8522, Keep index names when using with sqlite3Yves Senn2012-12-193-1/+19
|/ / | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb activerecord/test/cases/migration/rename_column_test.rb
* | Use 1.8 style hash in json encoding testCarlos Antonio da Silva2012-12-141-1/+1
| |
* | Remove unicode character encoding from ActiveSupport::JSON.encodeBrett Carter2012-12-143-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The encoding scheme (e.g. ☠ -> "\u2620") was broken for characters not in the Basic Multilingual Plane. It is possible to escape them for json using the weird encoding scheme of a twelve-character sequence representing the UTF-16 surrogate pair (e.g. '𠜎' -> "\u270e\u263a") but this wasn't properly handled in the escaping code. Since raw UTF-8 is allowed in json, it was decided to simply pass through the raw bytes rather than attempt to escape them. Backport of https://github.com/zbskii/rails/commit/9ace3a8820a5270f9b3f37b593f8bbea3e940f73 Conflicts: activesupport/CHANGELOG.md activesupport/lib/active_support/json/encoding.rb activesupport/test/json/encoding_test.rb
* | Don't use 1.9 hash syntax on 3-2-stableAndrew White2012-12-142-14/+14
| |
* | Clear url helper methods when routes are reloadedAndrew White2012-12-144-6/+175
| | | | | | | | | | | | | | | | Clear url helper methods when routes are reloaded by removing the methods explicitly rather than just clearing the module because it didn't work properly and could be the source of a memory leak. Closes #8488.
* | Merge pull request #8504 from senny/backport_8492Carlos Antonio da Silva2012-12-134-1/+24
|\ \ | | | | | | Backport of #8500, recognize migrations, in folders containing numbers and 'rb'.
| * | recognize migrations, in folders containing numbers and 'rb'.Yves Senn2012-12-134-1/+24
|/ / | | | | | | | | | | | | | | | | Backport of #8500 Closes #8492 Conflicts: activerecord/test/cases/migrator_test.rb
* | Merge pull request #8490 from mattv/fix_request_raw_postRafael Mendonça França2012-12-113-2/+15
| | | | | | | | | | | | Fix rewinding in ActionDispatch::Request#raw_post Conflicts: actionpack/CHANGELOG.md
* | Improve test name related to cache timestamp format [ci skip]Carlos Antonio da Silva2012-12-111-1/+1
| |
* | Add :nsec format only for Ruby 1.9Carlos Antonio da Silva2012-12-114-10/+16
| | | | | | | | | | | | Ruby 1.8 does not support this format in Time, so the format will only be added to the available date formats on Ruby 1.9. Changelog entry was changed to explain that as well.
* | Run backported serialized test without Identity MapCarlos Antonio da Silva2012-12-111-2/+4
| | | | | | | | | | | | It fails with Identity Map because the find call returns the same object, so the "content" attribute that we expect to raise "missing attribute" is actually present.
* | Use 1.8 hash style :bomb:Carlos Antonio da Silva2012-12-111-2/+2
| |
* | Merge pull request #8441 from itzki/fix_decorate_columnsCarlos Antonio da Silva2012-12-111-0/+13
| | | | | | | | | | Backport test to ensure there won't be regressions. The issue only happens on master at the moment.
* | Add CHANGELOG entry for #6376.Rafael Mendonça França2012-12-101-0/+4
| |
* | Allow users to choose the timestamp format in the cache keyRafael Mendonça França2012-12-105-2/+36
| | | | | | | | | | | | This can be done using the class attribute cache_timestamp_format Closes #8195
* | Make sure the tests pass in the case closer to described in #8195Rafael Mendonça França2012-12-104-19/+14
| |