aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Raise `ArgumentError` when an invalid form is passed to `Date#to_time`yui-knk2016-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Before this commit `NoMethodError: undefined method `form_name' for Time:Class` is raised when an invalid argument is passed. It is better to raise `ArgumentError` and show list of valid arguments to developers.
* | | Ruby 2.4: compat with new Array#sumJeremy Daer2016-04-181-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 2.4 introduces `Array#sum`, but it only supports numeric elements, breaking our `Enumerable#sum` which supports arbitrary `Object#+`. To fix, override `Array#sum` with our compatible implementation. Native Ruby 2.4: %w[ a b ].sum # => TypeError: String can't be coerced into Fixnum With `Enumerable#sum` shim: %w[ a b ].sum # => 'ab' We tried shimming the fast path and falling back to the compatible path if it fails, but that ends up slower even in simple causes due to the cost of exception handling. Our only choice is to override the native `Array#sum` with our `Enumerable#sum`.
* | | `ActiveSupport::Duration` supports ISO8601 formatting and parsing.Arnau Siches, Andrey Novikov2016-04-183-0/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby ActiveSupport::Duration.parse('P3Y6M4DT12H30M5S') (3.years + 3.days).iso8601 ``` Inspired by Arnau Siches' [ISO8601 gem](https://github.com/arnau/ISO8601/) and rewritten by Andrey Novikov with suggestions from Andrew White. Test data from the ISO8601 gem redistributed under MIT license. (Will be used to support the PostgreSQL interval data type.)
* | | Merge pull request #24577 from mechanicles/fix-fetch-cache-missJeremy Daer2016-04-181-2/+11
|\ \ \ | | | | | | | | | | | | Fix forced cache miss for fetch when called without a block.
| * | | Fix forced cache miss for fetch.Santosh Wadghule2016-04-181-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | - Raised an argument error if no block is passed to #fetch with 'force: true' option is set. - Added tests for the same.
* | | | Merge pull request #24587 from mechanicles/doc-consistencyXavier Noria2016-04-181-19/+19
|\ \ \ \ | |/ / / |/| | | Document consistency [ci skip]
| * | | Document consistency [ci skip]Santosh Wadghule2016-04-171-19/+19
| | | |
* | | | Change 1.week to create 1 week durations instead of 7 days durations.Andrey Novikov2016-04-182-9/+11
| | | | | | | | | | | | | | | | This is just to remove astonishment from getting `3600 seconds` from typing `1.hour`.
* | | | Merge pull request #24595 from maclover7/jm-cleanup-2Rafael França2016-04-171-1/+1
|\ \ \ \ | | | | | | | | | | Specify that behavior will be deprecated in Rails 5.1
| * | | | Specify that behavior will be deprecated in Rails 5.1Jon Moss2016-04-171-1/+1
| |/ / /
* / / / Stop passing unused payloads to instrumentation block in cacheVipul A M2016-04-171-2/+2
|/ / /
* | | Merge pull request #24517 from estolfo/transform-keys-return-type-masterSean Griffin2016-04-151-1/+1
|\ \ \ | |/ / |/| | Restore Hash#transform_keys behavior to always return a Hash instance
| * | Restore Hash#transform_keys behavior to always return a Hash instanceEmily2016-04-121-1/+1
| | |
* | | Remove time calculatiosn extensionRafael Mendonça França2016-04-131-0/+2
| | | | | | | | | | | | We are using compare_without_coercion.
* | | Merge pull request #24502 from ankit8898/freezing-dot-in-delimiter-helperRichard Schneeman2016-04-122-4/+6
|\ \ \ | | | | | | | | Lesser '.' objects for number helpers
| * | | Freezing couple of more string '0' & '.' and using the string appending to ↵Ankit Gupta2016-04-111-2/+4
| | | | | | | | | | | | | | | | do the same string manipulation. This was we avoid the duplicate strings with freeze and append modifies existing string
| * | | Freezing the dots as they are causing extra string initialization on every ↵Ankit Gupta2016-04-102-2/+2
| | | | | | | | | | | | | | | | iteration of calling the helper. Eases on some memory bloat
* | | | copy edits some comments [ci skip]Xavier Noria2016-04-121-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that the fact that mtimes in the future are ignore was documented just a few lines above. Since we know this has to be done, and the code is quite clear due to variable naming, I think we can get rid of the comment in the middle of the loop and shorten it even further.
* | | | No more need for an early returnBlake Mesdag2016-04-121-2/+0
| | | |
* | | | More readable versionBlake Mesdag2016-04-121-13/+10
| | | |
* | | | Handle max_time edge cases for epoch times and add testBlake Mesdag2016-04-121-3/+12
| | | |
* | | | Use Time#compare_without_coercion for super speedBlake Mesdag2016-04-121-1/+6
| | | |
* | | | Use a single memoized loop to find max mtime in ↵Blake Mesdag2016-04-121-1/+12
| |/ / |/| | | | | | | | ActiveSupport::FileUpdateChecker#max_mtime
* | | Pass over all Rails 5 warnings, to make sure:Vipul A M2016-04-122-2/+1
|/ / | | | | | | | | | | | | | | | | | | - we are ending sentences properly - fixing of space issues - fixed continuity issues in some sentences. Reverts https://github.com/rails/rails/commit/8fc97d198ef31c1d7a4b9b849b96fc08a667fb02 . This change reverts making sure we add '.' at end of deprecation sentences. This is to keep sentences within Rails itself consistent and with a '.' at the end.
* | Fix behavior of JSON encoding for Exceptionnamusyaka2016-04-091-0/+6
| |
* | Merge pull request #24422 from matthewd/extinguish-executor-exceptionsMatthew Draper2016-04-072-4/+49
|\ \ | | | | | | Clean up after a failure in a run callback
| * | Directly support stateful executor hooksMatthew Draper2016-04-052-4/+49
| | | | | | | | | | | | Also, make sure to call the +complete+ hooks if +run+ fails.
* | | Avoid unused captureRyuta Kamizono2016-04-051-1/+1
| | |
* | | Merge pull request #24345 from ↵Rafael França2016-04-051-1/+1
|\ \ \ | | | | | | | | | | | | | | | | mtsmfm/fix-marshal-with-autoloading-for-nested-class Fix marshal with autoloading for nested class/module
| * | | Fix marshal with autoloading for nested class/moduleFumiaki MATSUSHIMA2016-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #24150 break autoloading for nested class/module. There is test for nested class but it doesn't work correctly. Following code will autoload `ClassFolder::ClassFolderSubclass` before `Marshal.load`: `assert_kind_of ClassFolder::ClassFolderSubclass, Marshal.load(dumped)`
* | | | Merge pull request #24401 from pan/number-to-phoneRafael Mendonça França2016-04-052-3/+19
|\ \ \ \ | |_|/ / |/| | | | | | | `number_to_phone` formats number with regexp
| * | | `number_to_phone` formats number with regexpPan GaoYong2016-04-022-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, this method formats US number. This commit extends its functionality to format number for other countries with a custom regular expression. number_to_phone(18812345678, pattern: /(\d{3})(\d{4})(\d{4})/) # => 188-1234-5678 The output phone number is divided into three groups, so the regexp should also match three groups of numbers.
* | | | Match `String#to_time`'s behaviour to rubySiim Liiser2016-04-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `String#to_time` returned the midnight of the current date in some cases where there was no relavant information in the string. Now the method returns `nil` instead in those cases. Fixes #22958.
* | | | Call super instead of returning nil for DateTime#<=>Andrew White2016-04-031-5/+2
| |_|/ |/| | | | | | | | | | | | | | | | | | | | The native DateTime#<=> implementation can be used to compare instances with numeric values being considered as astronomical julian day numbers so we should call that instead of returning nil. Fixes #24228.
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2016-04-031-1/+1
|\ \ \
| * | | s/responsibilty/responsibility/Vipul A M2016-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | s/symantically/semantically/ [ci skip]
* | | | Remove not needed includingyui-knk2016-04-022-7/+0
| |/ / |/| | | | | | | | | | | Because `DateTime` inherits `Date` and `Date` includes `DateAndTime::Zones`, `DateTime` not need to include `DateAndTime::Zones` again.
* | | Fix method String#upcase_firstbogdanvlviv2016-03-312-3/+7
| | |
* | | Replace _meth with _method to remove ambiguityScott Latham2016-03-301-3/+3
| | | | | | | | | | | | [ci skip]
* | | Merge pull request #23895 from glaucocustodio/add_upcase_first_methodRafael Mendonça França2016-03-302-0/+14
|\ \ \ | |_|/ |/| | | | | Add upcase_first method
| * | Add upcase_first methodGlauco Custódio2016-02-252-0/+14
| | |
* | | fixed spelling in the attribute_accessors docuTorsten Braun2016-03-231-1/+1
| | | | | | | | | mattr_writer to mattr_reader
* | | fixed spellin in the mattr_reader documentationTorsten Braun2016-03-231-1/+1
| | | | | | | | | renamed cattr_reader to mattr_reader
* | | Improve code readability in ActiveSupport::DependenciesAaron Ang2016-03-161-5/+6
| | |
* | | Add comments to ActiveSupport::Dependencies to help understandingAaron Ang2016-03-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | In a previous patch, all log-related stuff was removed. However, some logs are still useful to understand the code. Therefore, in this patch, I put those log messages back as comments. [ci skip]
* | | no need to clear an unusued collectionXavier Noria2016-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the code reaches that line new_constants is no longer needed. We only need here to iterate over it to discard stuff and done. Note that constant_watch_stack.new_constants returns a new reference each time it is invoked, so that #clear call was not cleaning state in some internal structure (which would have been a bit dirty as well at this level of coupling).
* | | removes unreachable codeXavier Noria2016-03-161-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This array literal cannot be reached. The previous begin either returns to the caller via the explicit return in the ensure block if all goes well, or else propagates whatever make the begin block abort execution. I have investigated the origin of this a bit. In the past the ensure block didn't have a return call, see for example c08547d. Later on the return was added in 4da4506, but the trailing literal was left there.
* | | Remove log-related stuff from ActiveSupport::DependenciesAaron Ang2016-03-151-44/+0
| | | | | | | | | | | | | | | In this patch, all log-related stuff in `ActiveSupport::Dependencies` is removed because the logging is no longer useful.
* | | Use the most highest priority exception handler when cause is setSean Griffin2016-03-111-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was some subtle breakage caused by #18774, when we removed `#original_exception` in favor of `#cause`. However, `#cause` is automatically set by Ruby when raising an exception from a rescue block. With this change, we will use whichever handler has the highest priority (whichever call to `rescue_from` came last). In cases where the outer has lower precidence than the cause, but the outer is what should be handled, cause will need to be explicitly unset. Fixes #23925
* | | Merge pull request #24150 from exviva/unmarshal-infinite-retryXavier Noria2016-03-111-1/+4
|\ \ \ | | | | | | | | Prevent `Marshal.load` from looping infinitely