aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix redis store clear keys outside the namespaceRei2018-04-151-1/+1
| | | | | | | | | | Namespace not working in RedisCacheStore#clear method. Bacause namespace = merged_options(options)[namespace] is always nil, Correct is namespace = merged_options(options)[:namespace]
* Merge pull request #32551 from chrisarcand/no-doc-original-sumRafael França2018-04-121-1/+1
|\ | | | | Don't doc _original_sum_with_required_identity
| * Don't doc _original_sum_with_required_identityChris Arcand2018-04-121-1/+1
| | | | | | | | It's not public API so don't document it.
* | Merge pull request #32539 from chancancode/anticompressRafael França2018-04-121-35/+32
|\ \ | |/ |/| Fix ActiveSupport::Cache compression
| * Fix `ActiveSupport::Cache` compressionGodfrey Chan2018-04-111-35/+32
| | | | | | | | (See previous commit for a description of the issue)
* | Merge pull request #32542 from ↵George Claghorn2018-04-121-2/+3
|\ \ | | | | | | | | | | | | teddywing/active-support-cache-store--fix-end-tag-in-read-method-documentation Cache::Store#read: Fix fixed-width end tag in docs
| * | Cache::Store#read: Fix fixed-width end tag in docsTeddy Wing2018-04-121-2/+3
| |/ | | | | | | | | | | | | | | * Fix the ending `</tt>` tag for `:expires_in`. Otherwise, the "or" is set in fixed-width also. * Re-wrap paragraph to 80 columns. [ci skip]
* | Merge pull request #31913 from rywall/define-callbacks-descMatthew Draper2018-04-121-1/+3
|\ \ | |/ |/| Define callbacks on descendants.
| * No need to define methods on descendants.Ryan Wallace2018-02-241-18/+18
| | | | | | | | Addresses feedback from https://github.com/rails/rails/pull/31913#issuecomment-365983580
| * Define callbacks on descendants.Ryan Wallace2018-02-061-17/+19
| | | | | | | | We set callbacks on all descendants, so we need to make sure that they are also defined on all descendants as well.
* | `SetupAndTeardown#teardown` should call any subsequent after_teardown:Edouard CHIN2018-04-061-1/+8
| | | | | | | | | | | | | | | | If you have a regular test that have a teardown block, and for any reason an exception get raised, ActiveSupport will not run subsequent after_teardown method provided by other module or gems. One of them being the ActiveRecord::TestFixtures which won't rollback the transation when the test ends making all subsequent test to be in a weird state. The default implementation of minitest is to run all teardown methods from the user's test, rescue all exceptions, run all after_teardown methods provided by libraries and finally re-raise the exception that happened in the user's teardown method. Rails should do the same.
* | [ci skip] Add :private option to delegation docYoshiyuki Hirano2018-04-051-1/+2
| |
* | Small doc fixesT.J. Schuck2018-04-021-4/+4
| | | | | | | | [ci skip]
* | Merge pull request #32268 from freeletics/encrypted-tmp-file-nameKasper Timm Hansen2018-04-011-1/+1
|\ \ | | | | | | Change temporary file name extension while editing encrypted file.
| * | Change temporary file name extension while editing encrypted file.Wojciech Wnętrzak2018-03-181-1/+1
| | | | | | | | | | | | To have syntax highlighting in an editor try to preserve original extension of edited file.
* | | Move implementation of `before?` and `after?` to `DateAndTime::Calculations`bogdanvlviv2018-03-314-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | This prevents duplication of code. Prevent duplication of tests by moving them to `DateAndTimeBehavior`. Related to #32185.
* | | Adding missing extension for `cattr_accessor` methodWojciech Wnętrzak2018-03-301-0/+1
| | |
* | | Merge pull request #32185 from nholden/human_readable_date_time_comparisonsRafael França2018-03-264-0/+8
|\ \ \ | | | | | | | | Add `before?` and `after?` methods to date and time classes
| * | | Add `before?` and `after?` methods to date and time classesNick Holden2018-03-064-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Equality comparisons between dates and times can take some extra time to comprehend. I tend to think of a date or time as "before" or "after" another date or time, but I naturally read `<` and `>` as "less than" and "greater than." This change seeks to make date/time comparisons more human readable.
* | | | Remove unused `serialize` methodyuuji.yaginuma2018-03-251-4/+0
| | | |
* | | | Merge pull request #32315 from huacnlee/fix/local-cache-read-multi-entry-returnRafael França2018-03-221-1/+8
|\ \ \ \ | | | | | | | | | | Fix Cache `read_multi` with local_cache bug, should returns raw value, not `ActiveSupport::Cache::Entry` instance.
| * | | | Fix Cache `read_multi` with local_cache return values.Jason Lee2018-03-211-1/+8
| | | | | | | | | | | | | | | | | | | | It should returns raw value, not instance of `ActiveSupport::Cache::Entry`.
* | | | | Remove unused variableRafael Mendonça França2018-03-221-1/+0
| | | | |
* | | | | Ruby 2.6 will not require monkey patched `URI#unescape`Yasuo Honda2018-03-221-9/+1
|/ / / / | | | | | | | | | | | | since revision 62897 https://github.com/ruby/ruby/commit/234a30459cdae6aa7da6e28a1082d9c11f315696
* | / / Fix unclosed tags in `RedisCacheStore` docs [ci skip]yuuji.yaginuma2018-03-191-1/+1
| |/ / |/| |
* | | Don't marshal ActiveSupport::Cache::Entry objects twiceSean Griffin2018-03-141-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | When upgrading to Rails 5.2 we're seeing `ActiveSupport::Cache::Entry#compress` and `ActiveSupport::Cache::Entry#should_compress?` as the highest usage of our CPU. At least some part of this is coming from the fact that objects are being marshaled multiple times. This memoizes the marshaled value to eliminate half the problem.
* | | Redis cache store: fix constructing with a Redis instanceAdam Richardson2018-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since `Redis#call` duck types as a Proc, we'd call `#call` on it, thinking it's a Proc. Fixed by check for the Proc explicitly instead of duck typing on `#call`. References #32233
* | | Only apply monkey-patch if detected to be requiredAshe Connor2018-03-091-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We test the failing case we're trying to patch; only if it throws an Exception do we patch. Currently this will *always* throw, but upstream Ruby has patched this bug: https://git.io/vAxKB Signed-off-by: Ashe Connor <ashe@kivikakk.ee>
* | | Merge pull request #32183 from kivikakk/uri-ext-fixEileen M. Uchitelle2018-03-071-1/+1
|\ \ \ | |/ / |/| | URI.unescape "extension" fails with Unicode input
| * | URI.unescape handles mixed Unicode/escaped inputAshe Connor2018-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, URI.enscape could handle Unicode input (without any actual escaped characters), or input with escaped characters (but no actual Unicode characters) - not both. URI.unescape("\xe3\x83\x90") # => "バ" URI.unescape("%E3%83%90") # => "バ" URI.unescape("\xe3\x83\x90%E3%83%90") # => # Encoding::CompatibilityError We need to let `gsub` handle this for us, and then force back to the original encoding of the input. The result String will be mangled if the percent-encoded characters don't conform to the encoding of the String itself, but that goes without saying. Signed-off-by: Ashe Connor <ashe@kivikakk.ee>
* | | [ci skip] Hide internal docs from root AS moduleAshe Connor2018-03-061-0/+1
|/ / | | | | | | | | | | | | | | | | We have a bunch of documentation in lib/active_support/core_ext/object/json.rb which is currently appearing as documentation for the top-level ActiveSupport module. We hide it from rdoc here. Signed-off-by: Ashe Connor <ashe@kivikakk.ee>
* | Update skip_after_callbacks_if_terminated documentationRafael Mendonça França2018-03-051-2/+2
| | | | | | | | | | Now we always have a terminator, so we don't need to day the options only make sense when the `:terminator` options is specified.
* | [ci skip] Fix grammar in delegate, private: true docs.Kasper Timm Hansen2018-03-041-5/+4
| | | | | | | | | | | | | | | | | | Convert the user to atheism by ditching the extra example that demonstrates the same thing as date_of_birth. Demonstrate the NoMethodError on date_of_birth first, then call age that uses date_of_birth internally. Thus showing that accessing it publicly fails, but using it internally succeeds.
* | Deprecate "active_support/core_ext/numeric/inquiry"bogdanvlviv2018-03-023-28/+2
| | | | | | | | | | | | Numeric#positive? and Numeric#negative? was added to Ruby since 2.3, see https://github.com/ruby/ruby/blob/ruby_2_3/NEWS Rails 6 requires Ruby 2.4.1+ since https://github.com/rails/rails/pull/32034
* | Deprecate `active_support/core_ext/hash/compact`yuuji.yaginuma2018-03-022-27/+2
| | | | | | | | | | Ruby 2.4+ provides `Hash#compact` and `Hash#compact!` natively, so `active_support/core_ext/hash/compact` is no longer necessary.
* | Ruby 2.4: take advantage of String#unpack1Jeremy Daer2018-03-011-2/+2
| | | | | | | | | | https://bugs.ruby-lang.org/issues/12752 https://ruby-doc.org/core-2.4.0/String.html#method-i-unpack1
* | Add separate test to ensure that `delegate` with `:private` option returns ↵bogdanvlviv2018-02-281-5/+5
| | | | | | | | | | | | | | | | correct value Remove extra comments `# Asking for private method` in activesupport/test/core_ext/module_test.rb Improve docs of using `delegate` with `:private` Update changelog of #31944
* | add private: true option for ActiveSupport delegateTomas Valent2018-02-261-2/+23
| |
* | Remove native `Array#sum` and `Enumerable#sum` detection (#32102)Ryuta Kamizono2018-02-261-63/+44
| | | | | | Since #32034, Rails 6 requires Ruby 2.4.1+.
* | Merge pull request #32093 from jfragoulis/correct-method-documentationYuji Yaginuma2018-02-241-1/+1
|\ \ | | | | | | Correct method documentation
| * | Correct ActiveSupport::Deprecation::Behavior#behavior= documentationJohn Fragoulis2018-02-231-1/+1
| | | | | | | | | | | | | | | The callback parameters need to reflect changes after https://github.com/rails/rails/pull/28800
* | | Caching: MemCache and Redis stores use local cache for multi-readsGabriel Sobrinho2018-02-231-0/+17
|/ / | | | | | | | | Fixes #31909. Closes #31911.
* | Call `YAML.load` correctlyeileencodes2018-02-211-1/+1
| | | | | | | | | | We should call methods with `.method_name` not `::method_name`. Fix two instances of `YAML::load` I found in favor of `YAML.load`.
* | Remove `AS::Multibyte`'s unicode tableFumiaki MATSUSHIMA2018-02-202-272/+15
| |
* | Return all mappings for a timezone id in `country_zones`Andrew White2018-02-191-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some timezones like `Europe/London` have multiple mappings in `ActiveSupport::TimeZone::MAPPING` so return all of them instead of the first one found by using `Hash#value`. e.g: # Before ActiveSupport::TimeZone.country_zones("GB") # => ["Edinburgh"] # After ActiveSupport::TimeZone.country_zones("GB") # => ["Edinburgh", "London"] Fixes #31668.
* | String#truncate_bytes: limit to N bytes without breaking multibyte charsJeremy Daer2018-02-181-0/+41
| | | | | | | | | | This faithfully preserves grapheme clusters (characters composed of other characters and combining marks) and other multibyte characters.
* | `String#strip_heredoc` preserves frozennessJeremy Daer2018-02-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby "foo".freeze.strip_heredoc.frozen? # => true ``` Fixes the case where frozen string literals would inadvertently become unfrozen: ```ruby foo = <<-MSG.strip_heredoc la la la MSG foo.frozen? # => false !?? ```
* | Fixes typosDharam Gollapudi2018-02-171-3/+3
| | | | | | Fixes typos
* | Rails 6 requires Ruby 2.4.1+Jeremy Daer2018-02-1710-58/+12
| | | | | | | | | | | | Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug. References #32028
* | Remove require Object#blank? monkey patchSean Collins2018-02-171-1/+0
| | | | | | | | | | | | | | Object#blank? used to be used in this file, but it's not anymore. This avoids a monkey-patch, for those who want to use just this isolated feature of ActiveSupport.