aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Call fallback exception handlers with the right exceptionSean Griffin2016-11-171-3/+10
|/ | | | | | | | 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`.
* 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 #27035 from rails/remove-active-support-deprecationsAndrew White2016-11-1420-228/+3
|\ | | | | Remove Active Support deprecations
| * Remove deprecated class ActiveSupport::Concurrency::LatchAndrew White2016-11-141-25/+0
| |
| * Remove deprecated separator argument from parameterizeAndrew White2016-11-142-10/+2
| |
| * Remove deprecated method Numeric#to_formatted_sAndrew White2016-11-141-5/+0
| |
| * Remove deprecated method alias_method_chainAndrew White2016-11-141-48/+0
| |
| * Remove deprecated constant MissingSourceFIleAndrew White2016-11-141-2/+0
| |
| * Remove deprecated Module.qualified_const_get/set/defined?Andrew White2016-11-143-72/+0
| |
| * Remove deprecated :prefix optionAndrew White2016-11-131-5/+1
| |
| * Remove deprecated new_from_hash_copying_defaultAndrew White2016-11-131-9/+0
| |
| * Remove deprecated time marshal core_ext fileAndrew White2016-11-131-3/+0
| |
| * Remove deprecated struct core_ext fileAndrew White2016-11-131-3/+0
| |
| * Remove deprecated module method_transplanting fileAndrew White2016-11-131-3/+0
| |
| * Remove deprecated local_constantsAndrew White2016-11-131-8/+0
| |
| * Remove deprecated kernel debugger fileAndrew White2016-11-131-3/+0
| |
| * Remove deprecated namespaced_keyAndrew White2016-11-131-8/+0
| |
| * Remove deprecated set_cache_valueAndrew White2016-11-131-8/+0
| |
| * Remove deprecated escape_keyAndrew White2016-11-131-8/+0
| |
| * Remove deprecated key_file_pathAndrew White2016-11-131-8/+0
| |
* | Revert "Merge pull request #25811 from oss92/to_sentence_fallback_string"Rafael Mendonça França2016-11-141-8/+2
| | | | | | | | | | | | | | | | This reverts commit bad3a120f1690f393d8f6204b3ceee60f0ce707b, reversing changes made to 2384317465ccb1dfca456a2b7798714b99f32711. Reason: Adding a new option in the API for something that can be done with a `#presence` check could do.
* | Merge pull request #26222 from vipulnsward/26134-fixRafael França2016-11-131-6/+5
|\ \ | |/ |/| Format and send logs to logger.fatal from DebugExceptions
| * Format and send logs to logger.fatal from DebugExceptions instead of calling ↵Vipul A M2016-11-121-6/+5
| | | | | | | | | | | | fatal multiple times. Expose tags_text from TaggedLogging to be used for log formatting Fixes #26134
* | Merge pull request #26933 from prathamesh-sonpatki/fix-26877Andrew White2016-11-131-1/+1
|\ \ | | | | | | Fix an issue with JSON encoding of "Infinity" and "NaN" values
| * | Fix an issue with JSON encoding of "Infinity" and "NaN" valuesPrathamesh Sonpatki2016-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When `as_json` returns `Infinity` or `NaN` as the value of any of the key, we don't used to call `as_json` on it as it was treated as primitive. - This used to pass `Infinity` or `NaN` to `JSON.generate` and Ruby used to throw an error for `Infinity/NaN not allowed in JSON.` - This patch changes the code to call `as_json` on these primitives so that they are converted to proper values before being passed to `JSON.generate`. - Fixes #26877.
* | | Merge pull request #26905 from bogdanvlviv/docsAndrew White2016-11-139-12/+13
|\ \ \ | |_|/ |/| | Add missing `+` around a some literals.
| * | Add missing `+` around a some literals.bogdanvlviv2016-10-279-12/+13
| | | | | | | | | | | | | | | | | | Mainly around `nil` [ci skip]
* | | Less method invocationAkira Matsuda2016-11-051-1/+1
| | |
* | | Merge pull request #26536 from ↵Arthur Nogueira Neves2016-11-041-2/+2
|\ \ \ | | | | | | | | | | | | | | | | y-yagi/change_increment_and_decrement_to_public_api change `MemCacheStore#increment` and `MemCacheStore#decrement` to public API [ci skip]
| * | | change `MemCacheStore#increment` and `MemCacheStore#decrement` to public API ↵yuuji.yaginuma2016-09-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ci skip] I'm not sure why these methods not public. But these methods are public in other cache stores, I think that may be in public. Ref: http://edgeapi.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#method-i-increment http://edgeapi.rubyonrails.org/classes/ActiveSupport/Cache/FileStore.html#method-i-increment http://edgeapi.rubyonrails.org/classes/ActiveSupport/Cache/MemoryStore.html#method-i-increment http://edgeapi.rubyonrails.org/classes/ActiveSupport/Cache/NullStore.html#method-i-increment
* | | | Ensure duration parsing is consistent across DST changesAndrew White2016-10-311-2/+3
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `ActiveSupport::Duration.parse` used `Time.current` and `Time#advance` to calculate the number of seconds in the duration from an arbitrary collection of parts. However as `advance` tries to be consistent across DST boundaries this meant that either the duration was shorter or longer depending on the time of year. This was fixed by using an absolute reference point in UTC which isn't subject to DST transitions. An arbitrary date of Jan 1st, 2000 was chosen for no other reason that it seemed appropriate. Additionally, duration parsing should now be marginally faster as we are no longer creating instances of `ActiveSupport::TimeWithZone` every time we parse a duration string. Fixes #26941.
* | | Add more rubocop rules about whitespacesRafael Mendonça França2016-10-2940-68/+68
| | |
* | | let Regexp#match? be globally availableXavier Noria2016-10-271-0/+6
| | | | | | | | | | | | | | | | | | Regexp#match? should be considered to be part of the Ruby core library. We are emulating it for < 2.4, but not having to require the extension is part of the illusion of the emulation.
* | | Ensure `#transform_values` of HWIDA to return HWIDAyui-knk2016-10-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | On Ruby 2.4, naitive `Hash#transform_values` is implemented. `Hash#transform_values` uses an instance of Hash (`rb_hash_new`) to collect returned values of a block. For ensuring `#transform_values` of HWIDA to return HWIDA, we should define `#transform_values` on HWIDA.
* | | WhitespaceRafael Mendonça França2016-10-251-0/+1
| |/ |/|
* | Merge pull request #26868 from prathamesh-sonpatki/use-hash-compact-from-ruby-24Rafael França2016-10-241-18/+22
|\ \ | | | | | | Use Hash#compact and Hash#compact! from Ruby 2.4
| * | Use Hash#compact and Hash#compact! from Ruby 2.4Prathamesh Sonpatki2016-10-231-18/+22
| | | | | | | | | | | | | | | | | | - Ruby 2.4 has added Hash#compact and Hash#compact! so we can use it now. - Reference: https://bugs.ruby-lang.org/issues/11818 and https://bugs.ruby-lang.org/issues/12863.
* | | Revert #26826 and add documentationclaudiob2016-10-211-1/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a01cf703 as explained in the comment to #26826: Realized that this PR caused the following warning in Travis CI: ``` /home/travis/build/rails/rails/activesupport/lib/active_support/dependencies.rb:293: warning: loading in progress, circular require considered harmful - /home/travis/build/rails/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb ``` Indeed, `active_support/core_ext/hash/indifferent_access.rb` **needs** to require `active_support/hash_with_indifferent_access.rb` in order to access the class `ActiveSupport::HashWithIndifferentAccess`. The other way around, though, is not _strictly_ required, unless someone tries (like I did in the [gist above](https://gist.github.com/claudiob/43cc7fe77ff95951538af2825a71e5ec)) to use `ActiveSupport::HashWithIndifferentAccess` by only requiring `active_support/hash_with_indifferent_access.rb` without first requiring `active_support/core_ext/hash/indifferent_access.rb`. I think the solution to this is to revert this PR and instead change the documentation to explicitly state that **developers should not require 'active_support/hash_with_indifferent_access'** if all they want is to use `ActiveSupport::HashWithIndifferentAccess` – instead they should require `active_support/core_ext/hash/indifferent_access.rb`.
* | Merge pull request #26843 from denisovlev/strptime_timestampsRafael França2016-10-221-11/+15
|\ \ | | | | | | Fix `ActiveSupport::TimeZone#strptime` cannot parse timestamps (%Q, %s)
| * | Fix `ActiveSupport::TimeZone#strptime` cannot parse timestamps (%Q, %s)denisovlev2016-10-211-11/+15
| | |
* | | Merge pull request #26826 from claudiob/add-requireClaudio B2016-10-211-0/+1
|\ \ \ | | | | | | | | Add missing require in active_support/hash_with_indifferent_access.rb
| * | | Add missing requireclaudiob2016-10-191-0/+1
| | | |
* | | | Use `on_load` to trigger commandline processing codeAaron Patterson2016-10-211-0/+2
| | | | | | | | | | | | | | | | We need to use on_load so that plugins will get the same functionality
* | | | Additional fix for argument-splat ordering differences.Charles Oliver Nutter2016-10-211-2/+2
| | | | | | | | | | | | | | | | See #26854
* | | | Explicitly unpack the expanded args to avoid execution order diff.Charles Oliver Nutter2016-10-211-4/+4
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In https://bugs.ruby-lang.org/issues/12860 I argue that MRI's execution order here is incorrect. The splatting of the 'c' args should happen before the shift, but it happens after. On JRuby, it behaves the way you would expect, leading to the 'c' args splat still containing the block and producing an error like "cannot convert proc to symbol" when the send attempts to coerce it. This patch makes the unpacking order explicit with a multi-assign, which behaves properly on all implementations I tested.
* | | Merge pull request #26839 from renuo/fix-missing-nsec-transferAndrew White2016-10-211-1/+1
|\ \ \ | | | | | | | | Fix copy_time_to: Copy nsec instead of usec
| * | | Fix copy_time_to: Copy nsec instead of usecJosua Schmid2016-10-201-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `copy_time_to` is a helper function for date and time calculations. It's being used by `prev_week`, `next_week` and `prev_weekday` to keep the time fraction when jumping around between days. Previously the nanoseconds part was lost during the operation. This lead to problems in practice if you were using the `end_of_day` calculation. Resulting in the time fraction of `end_of_day` not being the same as next week's `end_of_day`. With this fix `copy_time_to` doesn't forget the `nsec` digits.