aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #27103 from y-yagi/move_changelog_entry_to_appropriate_fileEileen M. Uchitelle2016-11-192-6/+6
|\ | | | | move CHANGELOG entry to the appropriate file [ci skip]
| * move CHANGELOG entry to the appropriate file [ci skip]yuuji.yaginuma2016-11-192-6/+6
| | | | | | | | Follow up to #27098
* | Merge pull request #27057 from kamipo/fix_race_conditionMatthew Draper2016-11-191-6/+7
|\ \ | |/ |/| | | Fix the race condition caused by `with_new_connections_blocked`
| * Fix the race condition caused by `with_new_connections_blocked`Ryuta Kamizono2016-11-181-8/+4
| | | | | | | | | | | | `with_new_connections_blocked` was introduced at #14938. But the method sometimes causes `@new_cons_enabled = false` then never toggled to true.
* | Merge pull request #27089 from erickueen/erickueen_fix_26606Rafael Mendonça França2016-11-183-13/+19
|\ \ | | | | | | | | | Fix incorrect output from rails routes when using singular resources …
| * | Fix incorrect output from rails routes when using singular resources issue ↵Erick Reyna2016-11-184-12/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #26606 Rails routes (even rake routes in previous versions) output showed incorrect routes when an application use resource :controller, implying that edit_controller_path match with controller#show. The order of the output has changed to correct this. View #26606 for more information. Added a test case, change unit test in rake to expect the new output. Since the output of resource :controller is changing, the string spected of the railties/test/application/rake_test.rb test_rails_routes_with_controller_environment had to be modified.
* | | Merge pull request #27092 from prathamesh-sonpatki/https-source-bundlerRafael França2016-11-181-0/+5
|\ \ \ | | | | | | | | Use secure source for gems referencing "github" in the generated apps
| * | | Use secure source for gems referencing "github" in the generated appsPrathamesh Sonpatki2016-11-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - New apps generated on master and latest bundler give warning about "github" source being insecure. - Use the same solution used for Rails master in the generated app's Gemfile to fix this issue.
* | | | Merge pull request #27098 from sina-s/fix-unexpected-session-sharingRafael Mendonça França2016-11-183-0/+15
|\ \ \ \ | | | | | | | | | | | | | | | Fix unexpected session sharing
| * | | | Fix `ActionDispatch::IntegrationTest#open_session`Tawan Sierek2016-11-183-0/+15
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reset a new session directly after its creation in `ActionDispatch::IntegrationTest#open_session`. Reset the session to a clean state before making it available to the client's test code. Issue #22742 reports unexpected behavior of integration tests that run multiple sessions. For example an `ActionDispatch::Flash` instance is shared across multiple sessions, though a client code will rightfully assume that each new session has its own flash hash. The following test failed due to this behavior: class Issue22742Test < ActionDispatch::IntegrationTest test 'issue #22742' do integration_session # initialize first session a = open_session b = open_session refute_same(a.integration_session, b.integration_session) end end Instead of creating a new `ActionDispatch::Integration::Session` instance, the same instance is shared across all newly opened test sessions. This is due to the way how new test sessions are created in `ActionDispatch::IntegrationTest#open_session`. The already existing `ActionDispatch::IntegrationTest` instance is duplicated with `Object#dup`, This approach was introduced in commit 15c31c7639b. `Object#dup` copies the instance variables, but not the objects they reference. Therefore this issue only occurred when the current test instance had been tapped in such a way that the instance variable `@integration_session` was initialized before creating the new test session. Close #22742 [Tawan Sierek + Sina Sadeghian]
* | | | Merge pull request #27094 from y-yagi/remove_warnings_from_activejob_test_helperKasper Timm Hansen2016-11-181-4/+4
|\ \ \ \ | |/ / / |/| | | remove Ruby warning from Active Job test helper methods
| * | | remove Ruby warning from Active Job test helper methodsyuuji.yaginuma2016-11-181-4/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | This removes the following warnings. ``` /home/travis/build/rails/rails/activejob/lib/active_job/test_helper.rb:241: warning: shadowing outer local variable - job /home/travis/build/rails/rails/activejob/lib/active_job/test_helper.rb:265: warning: shadowing outer local variable - job ```
* | | Merge pull request #26551 from mgpnd/FixContentLengthRafael França2016-11-172-2/+13
|\ \ \ | | | | | | | | Fixed CONTENT_LENGTH header in ActionController::TestRequest
| * | | Fixed CONTENT_LENGTH header in ActionController::TestRequestArtem Rashev2016-11-152-2/+13
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONENT_LENGTH setted by string length, which is equal to number of characters in string but StringIO.length is byte sequence and when payload contains non-ASCII characters, stream's length will be different. That's why real byte length should be used for CONTENT_LENGTH header. Add unit test for CONTENT_LENGTH header fix It just passes non-ascii symbols as parameters and verifies that "CONTENT_LENGTH" header has content bytes count as value.
* | | Merge pull request #26981 from kamipo/should_not_except_order_for_existsRafael França2016-11-172-2/+3
|\ \ \ | | | | | | | | Should except `:distinct` rather than `:order` for `exists?`
| * | | Should except `:distinct` rather than `:order` for `exists?`Ryuta Kamizono2016-11-092-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Records fetching order is very important for performance if `limit` is presented. Should not except the order in the case. And `exists?` replaces select list to `1 AS one` therefore `:distinct` is useless (`DISTINCT 1 AS one`). And PostgreSQL raises the following error if `:distinct` and `:order` are used in the same time. ``` ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list ```
* | | | Merge pull request #27090 from tomprats/update-preprocessor-documentationRafael França2016-11-171-21/+11
|\ \ \ \ | | | | | | | | | | Updated Sprockets Documentation
| * | | | Updated Sprockets DocumentationTom Prats2016-11-171-21/+11
| | |_|/ | |/| |
* | | | Merge pull request #27070 from jonhyman/patch-raw-trueRafael França2016-11-171-1/+1
|\ \ \ \ | |/ / / |/| | | Removes 'raw: true' from MemCacheStore#read_multi
| * | | Removes 'raw: true' from MemCacheStore#read_multi, per ↵Jonathan Hyman2016-11-161-1/+1
| | | | | | | | | | | | | | | | https://github.com/rails/rails/issues/27066.
* | | | Refactor the handling of fallback exception handlersSean Griffin2016-11-171-10/+5
| | | |
* | | | Merge pull request #27076 from y-yagi/fix_postgresql_array_encodingSean Griffin2016-11-172-4/+4
|\ \ \ \ | | | | | | | | | | use `force_encoding` instread of `encode!` to avoid `UndefinedConversionError`
| * | | | use `force_encoding` instread of `encode!` to avoid `UndefinedConversionError`yuuji.yaginuma2016-11-172-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `PG::TextEncoder::Array#encode` returns the encoded value with `ASCII-8BIT`. But in some cases, trying to convert `ASCII-8BIT` to `UTF-8` cause an error. ```ruby "{\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB}".encode!(Encoding::UTF_8) # => Encoding::UndefinedConversionError: "\xE3" from ASCII-8BIT to UTF-8 ``` Should use `force_encoding` to avoid this error. Follow up to 7ba3a48df5bfdc5e98506bb829f937e03b55a5b3 Ref: https://github.com/rails/rails/pull/23619#issuecomment-189924036
* | | | | Merge pull request #26980 from ↵Sean Griffin2016-11-176-13/+19
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | kamipo/respect_new_records_for_collection_proxy_distinct Respect new records for `CollectionProxy#uniq`
| * | | | | Respect new records for `CollectionProxy#uniq`Ryuta Kamizono2016-11-136-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if `CollectionProxy` has more than one new record, `CollectionProxy#uniq` result is incorrect. And `CollectionProxy#uniq` was aliased to `distinct` in a1bb6c8b06db. But the `uniq` method and the `SELECT DISTINCT` method are different methods. The doc in `CollectionProxy` is for the `SELECT DISTINCT` method, not for the `uniq` method. Therefore, reverting the alias in `CollectionProxy` to fix the inconsistency and to have the both methods.
* | | | | | Call fallback exception handlers with the right exceptionSean Griffin2016-11-172-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue presented in #26246 showed a deeper underlying problem. When we fell back to the exception handler for an exceptions cause, we were calling that handler with the outer raised exception. This breaks the calling code's expectations, especially if the exception has methods on it behond those from `StandardError`.
* | | | | | Remove mention of deprecated SafeERB gem from security docs for now, prior ↵Vipul A M2016-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | section already speaks about sanitization as a safety measure. [ci skip] (#27086) Fixes #27085
* | | | | | Merge pull request #27084 from vipulnsward/fix-connection-config-mutationKasper Timm Hansen2016-11-171-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix mucking of connection_config leading to issues in prepared_statements issues
| * | | | | | Fix mucking of connection_config leading to issues in prepared_statementsVipul A M2016-11-171-3/+3
|/ / / / / /
* | | | | | Merge pull request #27078 from vipulnsward/fix-pg-prepared-statement-testKasper Timm Hansen2016-11-171-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix PG prepared statement test
| * | | | | | Fix PG prepared statement testVipul A M2016-11-171-1/+2
|/ / / / / /
* | | | | | Merge pull request #27075 from maclover7/jm-jruby-activejobRafael França2016-11-161-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | Enable JRuby testing for Active Job
| * | | | | | Make JRUBY_OPTS a global Travis environment variableJon Moss2016-11-161-2/+2
| | | | | | |
| * | | | | | Enable JRuby testing for Active JobJon Moss2016-11-161-2/+2
|/ / / / / / | | | | | | | | | | | | | | | | | | All tests pass for me locally.
* | | | | | Merge pull request #27072 from ↵Rafael França2016-11-161-8/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | maxboisvert/use_named_parameters_in_assert_enqueued_with Use named parameters instead of `assert_valid_keys` in active_job/test_helper
| * | | | | | Use named parameters instead of `assert_valid_keys`Maxime Boisvert2016-11-161-8/+8
| | |_|/ / / | |/| | | |
* | | | | | Merge pull request #27064 from koic/bump_ruby_versionsRafael França2016-11-161-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Run tests by Ruby 2.2.6 and 2.3.2
| * | | | | | Run tests by Ruby 2.2.6 and 2.3.2Koichi ITO2016-11-161-3/+3
| |/ / / / /
* | | | | | Merge pull request #27074 from maclover7/jm-jruby-actionmailerRafael França2016-11-161-0/+5
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Enable JRuby testing for Action Mailer
| * | | | | Enable JRuby testing for Action MailerJon Moss2016-11-161-0/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All tests passing locally for me: ``` 195 runs, 441 assertions, 0 failures, 0 errors, 0 skips ```
* | | | | docs, add `update_all` example with SQL fragment. [ci skip]Yves Senn2016-11-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The relation method `update_all` allows you to pass a SQL fragment. The functionality is already mentioned in the prose but the examples section does not cover it.
* | | | | Merge pull request #27056 from kirs/fix-testing-isolationGuillermo Iguaran2016-11-151-1/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix testing isolation
| * | | | | Fix testing isolationKir Shatrov2016-11-151-1/+2
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AS::Testing::Isolation has two ways to isolate the process: forking and subprocessing. The second way is used on JRuby and other platforms that don't support forking. The way how subprocessing works is that we prepare a command to run a new process: ``` /opt/rubies/2.3.0/bin/ruby -I{skipped_load_path} test/initializable_test.rb '' -nInitializableTests::Basic#test_Initializer_provides_context's_class_name ``` As you see, there's unescaped quote at the end of the line. It leads to: ``` sh: -c: line 0: unexpected EOF while looking for matching `'' sh: -c: line 1: syntax error: unexpected end of file ``` This fixes tests on MRI + NO_FORK variable and on JRuby :tada:
* | | | | Merge pull request #27058 from maclover7/jm-fix-26904Jon Moss2016-11-153-0/+19
|\ \ \ \ \ | | | | | | | | | | | | Support AC::Parameters for PG HStore
| * | | | | Support AC::Parameters for PG HStoreJon Moss2016-11-153-0/+19
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported via #26904, there is a regression in how values for Postgres' HStore column type are being processed, beginning in Rails 5. Currently, the way that Active Record checks whether or not values need to be serialized and put into the correct storage format is whether or not it is a `Hash` object. Since `ActionController::Parameters` no longer inherits from `Hash` in Rails 5, this conditional now returns false. To remedy this, we are now checking to see whether the `value` parameters being passed in responds to a certain method, and then calling the `serialize` method, except this time with a real Hash object. Keeping things DRY! Fixes #26904.
* | | | | Merge pull request #27054 from kamipo/null_relation_calculateSean Griffin2016-11-151-5/+4
|\ \ \ \ \ | |/ / / / |/| | | | Refactor `NullRelation#calculate`
| * | | | Refactor `NullRelation#calculate`Ryuta Kamizono2016-11-161-5/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ```ruby def calculate(operation, _column_name) if [:count, :sum].include? operation group_values.any? ? Hash.new : 0 elsif [:average, :minimum, :maximum].include?(operation) && group_values.any? Hash.new else nil end end ``` After: ```ruby def calculate(operation, _column_name) case operation when :count, :sum group_values.any? ? Hash.new : 0 when :average, :minimum, :maximum group_values.any? ? Hash.new : nil end end ```
* | | | Make sure to bundle json 2.x on CIAkira Matsuda2016-11-152-0/+4
| | | | | | | | | | | | | | | | | | | | Without this, bundler tries to bundle json 1.8 on Ruby 2.4 in some cases https://travis-ci.org/rails/rails/jobs/175874852
* | | | Merge pull request #27048 from y-yagi/remove_alias_method_chain_from_guideप्रथमेश Sonpatki2016-11-151-50/+0
|\ \ \ \ | | | | | | | | | | remove `alias_method_chain` from guide [ci skip]
| * | | | remove `alias_method_chain` from guide [ci skip]yuuji.yaginuma2016-11-151-50/+0
| | |/ / | |/| | | | | | | | | | Follow up to 7c848e6dd493ff236d33a0410a92f4c3e5cc3c7f