aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
* Redis cache store: consolidate serializationJeremy Daer2018-02-041-17/+21
| | | | Use `serialize_entry` throughout and introduce `serialize_entries`.
* RedisCacheStore: fix `#write_multi` mset serializationfatkodima2018-02-042-1/+18
| | | | | Closes #31886 Fixes #31884
* Merge pull request #28171 from sorra/fresh-thread-tagged-loggingRyuta Kamizono2018-02-031-1/+2
|\ | | | | Improve test for TaggedLogging "keeps each tag in their own thread"
| * Merge branch 'master' into fresh-thread-tagged-loggingDongqing Hu2017-02-263-3/+34
| |\
| * | Improve test for TaggedLogging "keeps each tag in their own thread"Dongqing Hu2017-02-261-1/+2
| | |
* | | Revert "Merge pull request #31447 from fatkodima/redis_cache-connection_pool"George Claghorn2018-01-314-103/+23
| | | | | | | | | | | | | | | This reverts commit ac74e2c521f6ddc0eac02d74a1313261bcc1d60f, reversing changes made to ffdb06136152b3c5f7f4a93ca5928e16e755d228.
* | | Update default deprecation horizonYuji Yaginuma2018-01-311-1/+1
| | | | | | | | | | | | Because the master branch is already 6.0.
* | | Start Rails 6.0 development!!!Rafael Mendonça França2018-01-302-508/+4
| | | | | | | | | | | | :tada::tada::tada:
* | | Suppress expected exceptions by `report_on_exception` = `false`yuuji.yaginuma2018-01-291-0/+4
| | | | | | | | | | | | | | | This suppresses `Timeout::Error` exceptions. Ref: https://travis-ci.org/rails/rails/jobs/334622442#L1089-L1110
* | | Merge pull request #31803 from rmosolgo/rm-dependenciesRafael França2018-01-262-0/+56
|\ \ \ | | | | | | | | Fix infinite loop when unloading autoloaded modules
| * | | Remove duplicates after autoloading modulesRobert Mosolgo2018-01-261-0/+1
| | | |
| * | | Add failing test for infinite loop when unloading autoloaded modules when an ↵Robert Mosolgo2018-01-261-0/+55
| | | | | | | | | | | | | | | | error occured during the load.
* | | | Remove extra whitespaceDaniel Colson2018-01-255-42/+42
| | | |
* | | | Use assert_empty and assert_not_emptyDaniel Colson2018-01-258-31/+31
| | | |
* | | | Use assert_predicate and assert_not_predicateDaniel Colson2018-01-2526-141/+141
| | | |
* | | | Change refute to assert_notDaniel Colson2018-01-251-2/+2
| | | |
* | | | Use respond_to test helpersDaniel Colson2018-01-2513-47/+47
| | | |
* | | | Improve fault tolerance for redis cache storefatkodima2018-01-235-10/+137
| | | |
* | | | Add support for connection pooling on RedisCacheStorefatkodima2018-01-228-73/+166
| | | |
* | | | Pass desired driver to Redis client constructor rather than munging global ↵George Claghorn2018-01-211-16/+12
|/ / / | | | | | | | | | config
* | | Merge pull request #31732 from ↵Matthew Draper2018-01-197-8/+8
|\ \ \ | | | | | | | | | | | | | | | | koic/enable_autocorrect_for_lint_end_alignment_cop Enable autocorrect for `Lint/EndAlignment` cop
| * | | Enable autocorrect for `Lint/EndAlignment` copKoichi ITO2018-01-187-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Summary This PR changes .rubocop.yml. Regarding the code using `if ... else ... end`, I think the coding style that Rails expects is as follows. ```ruby var = if cond a else b end ``` However, the current .rubocop.yml setting does not offense for the following code. ```ruby var = if cond a else b end ``` I think that the above code expects offense to be warned. Moreover, the layout by autocorrect is unnatural. ```ruby var = if cond a else b end ``` This PR adds a setting to .rubocop.yml to make an offense warning and autocorrect as expected by the coding style. And this change also fixes `case ... when ... end` together. Also this PR itself is an example that arranges the layout using `rubocop -a`. ### Other Information Autocorrect of `Lint/EndAlignment` cop is `false` by default. https://github.com/bbatsov/rubocop/blob/v0.51.0/config/default.yml#L1443 This PR changes this value to `true`. Also this PR has changed it together as it is necessary to enable `Layout/ElseAlignment` cop to make this behavior.
* | | | Support hash as first argument in `assert_difference`. (#31600)Julien Meichelbeck2018-01-183-7/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support hash as first argument for `assert_difference`. This allows to specify multiple numeric differences in the same assertion. Example: assert_difference 'Article.count' => 1, 'Notification.count' => 2 do # post :create, params: { article: {...} } end * Support error message when passing a hash as a first parameter * Format CHANGELOG properly [Julien Meichelbeck + Rafael Mendonça França]
* | | | Support for connection pooling on mem cache storeGabriel Sobrinho2018-01-182-9/+99
| | | |
* | | | Convert keys to binary in the Redis cache storeGeorge Claghorn2018-01-171-1/+1
| | | | | | | | | | | | | | | | Fix encoding errors when using the pure-Ruby Redis driver instead of Hiredis. Dodge incompatibilities between UTF-8 and arbitrary value encodings, which rear their heads when the Redis driver tries to build a single command string from incompatibly-encoded keys and values.
* | | | Test against the pure-Ruby Redis driverGeorge Claghorn2018-01-172-0/+26
|/ / /
* | | Fix constant referenceGeorge Claghorn2018-01-162-3/+2
| | | | | | | | | | | | Update the long key handling test so it triggers truncation in the Redis cache store.
* | | Merge pull request #31651 from eugeneius/use_sha1_digestsSean Griffin2018-01-122-7/+8
|\ \ \ | | | | | | | | Use SHA-1 for non-sensitive digests by default
| * | | Use SHA-1 for non-sensitive digests by defaultEugene Kenny2018-01-082-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | Instead of providing a configuration option to set the hash function, switch to SHA-1 for new apps and allow upgrading apps to opt in later via `new_framework_defaults_5_2.rb`.
* | | | Merge pull request #30268 from ignatiusreza/instrumentationRyuta Kamizono2018-01-114-49/+64
|\ \ \ \ | | | | | | | | | | | | | | | add instrumentation for read_multi
| * | | | add instrumentation for read_multiIgnatius Reza2017-12-294-49/+64
| | | | | | | | | | | | | | | | | | | | currently it's not possible to know what the hit rates are from read_multi
* | | | | Merge pull request #31624 from y-yagi/fix_minitest_511Aaron Patterson2018-01-101-2/+4
|\ \ \ \ \ | | | | | | | | | | | | Add support for Minitest 5.11
| * | | | | Use `Minitest::Result` for retain test resultyuuji.yaginuma2018-01-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Runnable.marshal_dump/load was removed in https://github.com/seattlerb/minitest/commit/00433fc0a4fdd0e6b302aace633384ba1312237 Instead, `Minitest::Result` is contained test result and the that can be marshalled.
* | | | | | Fix "the the " [ci skip]Ryuta Kamizono2018-01-101-1/+1
| | | | | |
* | | | | | Merge pull request #29685 from ayanko/fix-slow-name-error-missing-nameRyuta Kamizono2018-01-101-0/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Fix performance issue with NameError#missing_name on ruby >= v2.3.0.
| * | | | | Fix performance issue with NameError#missing_name on ruby >= v2.3.0.Andriy Yanko2017-07-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since ruby v2.3.0 `did_you_mean` gem shipped and ENABLED by default. It patches NameError#message with spell corrections which are SLOW.
* | | | | | Merge pull request #31648 from dixitp012/rubocop_active_support_testRyuta Kamizono2018-01-081-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Fix rubocop space before comma
| * | | | | | Fix rubocop space before commaDixit Patel2018-01-081-1/+1
|/ / / / / /
* | | | | | Remove meaningless checkyuuji.yaginuma2018-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | `ActiveSupport::OrderedOptions` responds to any message.
* | | | | | Allow use_authenticated_message_encryption to be set in ↵Eugene Kenny2018-01-072-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new_framework_defaults_5_2.rb Enabling this option in new_framework_defaults_5_2.rb didn't work before, as railtie initializers run before application initializers. Using `respond_to?` to decide whether to set the option wasn't working either, as `ActiveSupport::OrderedOptions` responds to any message.
* | | | | | Merge pull request #31049 from gwincr11/cg-blankRyuta Kamizono2018-01-042-3/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add support for multiple encodings in String.blank?
| * | | | | | Add support for multiple encodings in String.blank?Cory Gwin @gwincr112017-11-172-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivation: - When strings are encoded with `.encode("UTF-16LE")` `.blank?` throws an `Encoding::CompatibilityError` exception. - We tested multiple implementation to see what the fastest implementation was, rescueing the execption seems to be the fastest option we could find. Related Issues: - #28953 Changes: - Add a rescue to catch the exception. - Added a `Concurrent::Map` to store a cache of encoded regex objects for requested encoding types. - Use the new `Concurrent::Map` cache to return the correct regex for the string being checked.
* | | | | | | Merge pull request #31011 from ↵Ryuta Kamizono2018-01-043-6/+24
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | danielma/dma/assert-changes-with-to-should-still-assert-change `assert_changes` should always assert some change
| * | | | | | | `assert_changes` should always assert some changeDaniel Ma2017-11-133-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While using `assert_changes`, I came across some unexpected behavior: if you provide a `to:` argument, and the expression matches but didn't actually change, the assertion will pass. The way `assert_changes` reads, I assumed that it would both assert that there was any change at all, _and_ that the expression changed to match my `to:` argument. In the case of just a `from:` argument, `assert_changes` does what I expect as well. It asserts that the before value `=== from` and that the after value changed. My key change is that `assert_changes` will now _always_ assert that expression changes, no matter what combination of `from:` and `to:` arguments
* | | | | | | | Remove undefined `track_deletion` callback [ci skip]Ryuta Kamizono2018-01-031-3/+0
| |_|_|/ / / / |/| | | | | |
* | | | | | | Merge pull request #31606 from yhirano55/bump_license_years_for_2018Arun Agrawal2017-12-312-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Bump license years for 2018
| * | | | | | | Bump license years for 2018Yoshiyuki Hirano2017-12-312-2/+2
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge pull request #31310 from kinnrot/duration-moduloRyuta Kamizono2018-01-012-1/+5
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Duration created with no parts will have a default seconds part eqaul to 0
| * | | | | | Empty duration inspect fixChen Kinnrot2017-12-132-1/+5
| | | | | | |
* | | | | | | Test that cache stores build unversioned keysGeorge Claghorn2017-12-221-0/+12
| | | | | | |