aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #6197 from ↵Xavier Noria2013-01-223-6/+24
| | | | | | | | | | | | blakesmith/connection_adapters_without_explain_support Don't run explain on slow queries for database adapters that don't support it
* | Revert "Merge pull request #6986 from kennyj/fix_6975"Andrew White2013-01-223-29/+10
| | | | | | | | | | | | | | | | | | This reverts commit 8905c1fb496641c3cdb7b3b816ae6d3d4b2c2b73. Closes #8460 Conflicts: activerecord/test/cases/dirty_test.rb
* | Add failing test case for #8460Andrew White2013-01-221-0/+14
| | | | | | | | Add a test case to ensure that fractional second updates are detected.
* | Duplicate possible frozen string from routeAndrew White2013-01-212-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 1.9 freezes Hash string keys by default so where a route is defined like this: get 'search' => 'search' then the Mapper will derive the action from the key. This blows up later when the action is added to the parameters hash and the encoding is forced. Closes #3429
* | Remove warning of not used variableCarlos Antonio da Silva2013-01-171-1/+1
| |
* | Do not run this streaming test in Ruby 1.8, fix syntax errorCarlos Antonio da Silva2013-01-171-5/+8
| |
* | Merge pull request #5288 from lest/patch-2José Valim2013-01-173-0/+21
| | | | | | | | | | | | force response body to be read in assert_template Conflicts: actionpack/lib/action_controller/test_case.rb
* | Merge pull request #8632 from asanghi/3-2-stableAndrew White2013-01-163-1/+32
|\ \ | | | | | | Fixes #8631 request post? detection should remain unaffected by local inflections such as POS for Point Of Sale
| * | fixes #8631 local inflections from interfereing with HTTP_METHOD_LOOKUP ↵Aditya Sanghi2013-01-163-1/+32
|/ / | | | | | | dispatch logic
* | Merge pull request #8933 from freerange/3-2-stable-with-minitest-fixRafael Mendonça França2013-01-151-1/+1
|\ \ | | | | | | Make tests for the presence of MiniTest consistent
| * | Make tests for the presence of MiniTest consistent.James Mead2013-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is an inconsistency between the conditional logic in the definition of ActiveSupport::TestCase and the conditional logic in ActiveSupport::Testing::SetupAndTeardown [1]. In some circumstances, it's possible for MiniTest to be defined, but for ActiveSupport::TestCase *not* to have MiniTest::Unit::TestCase or MiniTest::Assertions in its ancestor chain. e.g. in Ruby 1.8 with the minitest gem included in the bundle. In this case, the Test::Unit/MiniTest shim/wrapper is not present and so Test::Unit::TestCase (and therefore ActiveSupport::TestCase) is completely independent of MiniTest::Unit::TestCase. The conditional logic in the definition of ActiveSupport::TestCase does not take this scenario into account, whereas the logic in ActiveSupport::Testing::SetupAndTeardown does take it into account. The changes in this commit are an alternative to the change in [2] which was reverted in [3]. Similar conditional logic exists in ActiveSupport::Testing::Isolation [4], ActiveSupport::Testing::Pending [5], ActiveSupport::Testing::Performance [6], and in their respective tests. I have not addressed these, because I know less about what's going on there, but it would be worth bringing them all into line too. [1] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/setup_and_teardown.rb#L13 [2] https://github.com/rails/rails/commit/c3e186ec8dcb2ec26d5d56f3e89123b1350c4a6f [3] https://github.com/rails/rails/commit/267fb61277ac960ad443d239febcb3136a007d24 [4] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/isolation.rb#L41 [5] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/pending.rb#L14 [6] https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/performance.rb#L17
* | | Merge pull request #8914 from nilbus/fix-header-bloatRafael Mendonça França2013-01-153-2/+10
| | | | | | | | | | | | | | | | | | Remove header bloat introduced by BestStandardsSupport middleware Conflicts: actionpack/CHANGELOG.md
* | | Merge branch 'revert-binds-3-2' into 3-2-stableCarlos Antonio da Silva2013-01-158-49/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been resulting in some hard to track bugs and is introducing a possible breackage in a stable version. The issue it currently "fixes" should be handled in some other way. Closes #8743. Related to #7983.
| * | | Revert "Work around undiagnosed bug that's draining a relation's bind_values"Carlos Antonio da Silva2013-01-151-1/+0
| | | | | | | | | | | | | | | | This reverts commit 06cc38a2b0d4778746e8a2a2e2b6aa07e1c1c075.
| * | | Revert "Merge pull request #7983 from georgebrock/bug7950-squashed"Carlos Antonio da Silva2013-01-158-48/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88a296dccc401da143d90cad54b693ff06bf2b58, reversing changes made to 666a7e34f553cef4c8878362eafc79c7e3f310c3. Conflicts: activerecord/CHANGELOG.md Reason: this has been resulting in some hard to track bugs and is introducing a possible breackage in a stable version.
* | | Fix the TestCase class and make tests pass on ruby 2.0Rafael Mendonça França2013-01-141-2/+2
| | |
* | | Add regression test to #8907Rafael Mendonça França2013-01-141-0/+31
|/ /
* | Merge pull request #8927 from dkubb/issue-8178Rafael Mendonça França2013-01-143-1/+10
|\ \ | | | | | | Fix DateTime comparison with DateTime::Infinity object
| * | Test to allow Range including DateTime and DateTime::Infinitygsphanikumar2013-01-131-0/+6
| | | | | | | | | | | | Closes #8587
| * | Fix DateTime comparison with DateTime::Infinity objectDan Kubb2013-01-132-1/+4
|/ /
* | Merge pull request #8907 from rubys/masterRafael Mendonça França2013-01-121-1/+2
| | | | | | | | Fix regression introduced in pull 8812
* | Remove unnecessary caching of ParameterFilterAndrew White2013-01-121-3/+1
| |
* | Merge pull request #8895 from ernie/revert-hmt-on-unsaved-in-3-2Rafael Mendonça França2013-01-113-19/+6
|\ \ | | | | | | Revert hm:t on unsaved collection for 3.2
| * | Revert "Merge pull request #7661 from ernie/build-join-records-on-unsaved-hmt"Ernie Miller2013-01-113-19/+6
|/ / | | | | | | | | | | | | This reverts commit ee439895759b38431ad025f3c234831f30dadcdb. It would appear that #7661 had unintended consequences to the API. Until we can sort those out, this should not be in 3.2.x, and wait for 4.0.0.
* | Merge pull request #8888 from dylanahsmith/3-2-parse-non-object-json-paramsJeremy Kemper2013-01-103-2/+13
|\ \ | | | | | | 3-2-stable: Fix JSON params parsing regression for non-object JSON content.
| * | Fix JSON params parsing regression for non-object JSON content.Dylan Smith2013-01-113-2/+13
|/ / | | | | | | Backports #8855.
* | Reorder AP changelog and remove duplicated entry [ci skip]Carlos Antonio da Silva2013-01-101-11/+9
| | | | | | | | Duplicated entry added in 002dfba66490d289bac897d1ba886310a672e779.
* | Merge pull request #8756 from causes/js_include_tag_fixGuillermo Iguaran2013-01-103-9/+28
|\ \ | | | | | | Fix javascript_include_tag when no js runtime is available
| * | 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).
* | | Merge pull request #8735 from jejacks0n/duplicate_asset_fixGuillermo Iguaran2013-01-105-2/+16
|\ \ \ | | | | | | | | Ensure assets aren't duplicated when using sprockets require.
| * | | Fixes issue where duplicate assets can be required with sprockets.jejacks0n2013-01-105-2/+16
|/ / / | | | | | | | | | | | | - addresses the problem by calling flatten on asset array before calling uniq. - adds note to CHANGELOG.
* | | Update changelogs with release date [ci skip]Carlos Antonio da Silva2013-01-097-9/+35
| | |
* | | Merge pull request #8838 from yahonda/8806_3-2-stableRafael Mendonça França2013-01-092-13/+27
|\ \ \ | | | | | | | | | | | | Ignore binds payload with nil column in AR log subscriber
| * | | Ignore binds payload with nil column in AR log subscriberYasuo Honda2013-01-092-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests were raising the following error: Could not log "sql.active_record" event. NoMethodError: undefined method `type' for nil:NilClass` Due to the way binds were being logged, the column info was considered always present, but that is not true for some of the tests listed in the issue. Closes #8806. Conflicts: activerecord/lib/active_record/log_subscriber.rb activerecord/test/cases/log_subscriber_test.rb Conflict resolution: - Revert ruby 1.9 style hash to support ruby 1.8 - Do not include 8f59ffce into 3-2-stable
* | | | Merge pull request #8834 from sikachu/3-2-stable-fix-arsCarlos Antonio da Silva2013-01-082-27/+0
|\ \ \ \ | |/ / / |/| | | Remove test for XML YAML parsing
| * | | Remove test for XML YAML parsingPrem Sichanugrist2013-01-082-27/+0
|/ / / | | | | | | | | | | | | The support for YAML parsing in XML has been removed from Active Support since it introduced an security risk. See 43109ec for more detail.
* | | Merge branch '3-2-sec' into 3-2-secmergeAaron Patterson2013-01-0821-37/+147
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 3-2-sec: bumping version CVE-2013-0156: Safe XML params parsing. Doesn't allow symbols or yaml. * Strip nils from collections on JSON and XML posts. [CVE-2013-0155] * dealing with empty hashes. Thanks Damien Mathieu Avoid Rack security warning no secret provided Conflicts: actionpack/CHANGELOG.md activerecord/CHANGELOG.md activesupport/CHANGELOG.md
| * | bumping versionAaron Patterson2013-01-089-9/+9
| | |
| * | CVE-2013-0156: Safe XML params parsing. Doesn't allow symbols or yaml.Jeremy Kemper2013-01-084-13/+69
| | |
| * | * Strip nils from collections on JSON and XML posts. [CVE-2013-0155] * ↵Aaron Patterson2013-01-088-10/+67
| | | | | | | | | | | | dealing with empty hashes. Thanks Damien Mathieu
| * | Avoid Rack security warning no secret providedSantiago Pastorino2013-01-081-0/+2
| | | | | | | | | | | | This avoids "SECURITY WARNING: No secret option provided to Rack::Session::Cookie."
* | | Changelog improvements [ci skip]Carlos Antonio da Silva2013-01-081-6/+5
| | |
* | | Bump rack dependency to 1.4.3Carlos Antonio da Silva2013-01-082-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It includes security bug fixes and changes the initialization of Rack::File to accept a hash, otherwise generating warnings. See 295806e for the warnings fix. Conflicts: actionpack/actionpack.gemspec
* | | Merge pull request #8812 from rubys/masterCarlos Antonio da Silva2013-01-081-1/+1
| | | | | | | | | | | | Eliminate Rack::File headers deprecation warning
* | | Wrap time ranges with timezones, closes #8807Vasiliy Ermolovich2013-01-085-43/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit e2e513621d732abb8efff9120bd9a444836720d6) (cherry picked from commit dcdde7da481e11660634278a8004175a1ce20f39) Backport of #6183, original issue was #6179 Conflicts: activesupport/lib/active_support/core_ext/time/calculations.rb activesupport/test/core_ext/time_ext_test Signed-off-by: Andrew White <andyw@pixeltrix.co.uk>
* | | Avoid Rack security warning no secret providedSantiago Pastorino2013-01-081-0/+2
| | | | | | | | | | | | This avoids "SECURITY WARNING: No secret option provided to Rack::Session::Cookie."
* | | Refactor write attribute logic to convert number column valueCarlos Antonio da Silva2013-01-071-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an improvement for issue #8673: "Comparing a BigDecimal to true/false on write_attribute is slow" It seems to be an issue with Ruby itself, related to the "coerce" method being called in TrueClass/FalseClass due to the == condition, triggering method_missing, then raising a NameError that's later catched. This issue was also opened in Ruby tracker: https://bugs.ruby-lang.org/issues/7645. This refactoring avoid the coerce call by using a case statement, which gives us better readability as well. A simple benchmark: ---------- require 'benchmark/ips' require 'bigdecimal' Benchmark.ips do |x| x.report("== true") { BigDecimal('3') == true } x.report("TrueClass") { TrueClass === BigDecimal('3') } x.report("== 0") { BigDecimal('3') == 0 } x.report("Numeric") { Numeric === BigDecimal('3') } end Calculating ------------------------------------- == true 6427 i/100ms TrueClass 47297 i/100ms == 0 35923 i/100ms Numeric 55530 i/100ms ------------------------------------------------- == true 75878.5 (±21.6%) i/s - 359912 in 5.004392s TrueClass 1249547.0 (±13.1%) i/s - 6148610 in 5.035964s == 0 666856.3 (±13.3%) i/s - 3268993 in 5.013789s Numeric 1269300.9 (±11.3%) i/s - 6274890 in 5.028458s ---------- Master has a very different implementation, and there are apparently no similar conversions at this point, it's mainly delegated to the column type cast, but I'll check if something needs to be changed there as well. Closes #8673.
* | | Remove not used variable in eager testCarlos Antonio da Silva2013-01-071-1/+0
| | |
* | | Fix named scope + class method exampleCarlos Antonio da Silva2013-01-071-3/+1
| | | | | | | | | | | | | | | | | | | | | Closes #8804 [ci skip] Conflicts: activerecord/lib/active_record/scoping/named.rb
* | | connection_parameters is an Array and will never haveRafael Mendonça França2013-01-061-2/+0
| | | | | | | | | | | | prepared_statements as value