aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Fix for AEAD auth_tag check in MessageEncryptorMichael Coyne2017-05-152-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When MessageEncryptor tries to +decrypt_and_verify+ ciphertexts generated in a different mode (such CBC-HMAC), the +auth_tag+ may be +nil+ and must explicitly check for it. See the discussion here: https://github.com/rails/rails/pull/28132#discussion_r116388462
* | | | Don't cache locally if unless_exist was passedEugene Kenny2017-05-142-1/+14
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | Some cache backends support the `unless_exist` option, which tells them not to overwrite an existing entry. The local cache currently always stores the new value, even though the backend may have rejected it. Since we can't tell which value will end up in the backend cache, we should delete the key from the local cache, so that the next read for that key will go to the backend and pick up the correct value.
* | | Merge pull request #29034 from peterjm/handle_loops_in_exception_handlingRafael França2017-05-112-3/+41
|\ \ \ | | | | | | | | Handle loops in the cause chain in Rescuable#rescue_with_handler
| * | | handle loops in the cause chain in Rescuable#rescue_with_handlerPeter McCracken2017-05-102-3/+41
| | | |
* | | | Should escape meta characters in regexpRyuta Kamizono2017-05-072-3/+3
|/ / /
* | | Update test names to match method nameT.J. Schuck2017-05-041-6/+6
| | | | | | | | | The method is named `delegate_missing_to`, not `delegate_to_missing`
* | | Assorted delegate_missing_to doc fixesT.J. Schuck2017-05-041-22/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix rdoc code formatting — `tt`, not backticks * Fix/simplify sentence grammar — should at least just be “and the like”, not “likes”, but this is just general tightening up. * Add note that delegated methods must be public. Tested here: https://github.com/rails/rails/blob/7ff5ccae94ce2aff76b5f8a31a28e305a047d642/activesupport/test/core_ext/module_test.rb#L359-L365 * Simplify example code for delegate_missing_to. The example had complexity that wasn’t necessary for demonstrating `delegate_missing_to`. This gets rid of a bunch of cruft so the example is more obvious about what’s going on regarding the feature itself. [ci skip]
* | | Merge pull request #28930 from kamipo/use_flat_mapRafael França2017-05-011-2/+2
|\ \ \ | | | | | | | | Use `flat_map` rather than `map(&:...).flatten`
| * | | Use `flat_map` rather than `map(&:...).flatten`Ryuta Kamizono2017-04-291-2/+2
| | | |
* | | | Cleanup CHANGELOGs [ci skip]Ryuta Kamizono2017-04-301-0/+1
|/ / / | | | | | | | | | | | | | | | * Remove trailing spaces. * Add backticks around method and command. * Fix indentation.
* | | Add missing require for `remove_possible_method`Eugene Kenny2017-04-281-0/+1
| | | | | | | | | | | | | | | | | | https://github.com/rails/rails/commit/505537082849d912e8e29819655b80a573e93c0c added a call to `remove_possible_method`, but didn't require the file that defines it.
* | | Merge pull request #28831 from kamipo/respond_to_missing_should_be_privateRafael França2017-04-251-5/+5
|\ \ \ | | | | | | | | `respond_to_missing?` should be private
| * | | `respond_to_missing?` should be privateRyuta Kamizono2017-04-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up of 03d3f036. Some of `respond_to?` were replaced to `respond_to_missing?` in 03d3f036. But the visibility is still public. It should be private.
* | | | Remove checks for Enumerator#size methodEugene Kenny2017-04-251-4/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | The Enumerator#size method was introduced in Ruby 2.0. These tests were added when Rails 4.1 was current, and Ruby 1.9.3 was still supported. Since Rails 5 only Ruby >= 2.2.2 is supported, so the checks are no longer necessary.
* | | Add commaJon Moss2017-04-201-1/+1
| | | | | | | | | | | | [ci skip]
* | | Merge pull request #28582 from sbull/activejob-error-loggingRafael França2017-04-201-0/+2
|\ \ \ | | | | | | | | Add error logging to Active Job
| * | | Add error logging to Active JobSteven Bull2017-03-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Active Job logging instrumentation is changed to log errors (with backtrace) when a job raises an exception in #perform. This improves debugging during development and test with the default configuration. Prior to Rails 5, the default development configuration ran jobs with InlineAdapter, which would raise exceptions to the caller and be shown in the development log. In Rails 5, the default adapter was changed to AsyncAdapter, which would silently swallow exceptions and log a "Performed SomeJob from Async..." info message. This could be confusing to a developer, as it would seem that the job was performed successfully. This patch removes the "Performed..." info message from the log and adds an error-level "Error performing SomeJob..." log message which includes the exception backtrace for jobs that raise an exception within the #perform method. It provides this behavior for all adapters.
* | | | Fixes Hash.from_xml with frozen strings for all backendsJosh Nussbaum2017-04-205-13/+9
| | | |
* | | | Remove outdated commentMarion Bouguet2017-04-201-1/+0
| | | | | | | | | | | | Since 3aee9126aa6309538ee64064dcabcd34d7cc7d26, this class hasn't inherited from Array.
* | | | Send deprecation horizon and gem name as arguments to deprecation heavier ↵Willem van Bergen2017-04-195-16/+56
| | | | | | | | | | | | | | | | handler, and make sure they are used for the ActiveSupport::Notifications message.
* | | | Merge pull request #28790 from tjschuck/require_as_time_in_testing_time_helpersRafael França2017-04-181-0/+1
|\ \ \ \ | | | | | | | | | | Explicitly require AS::Time in AS::Testing::TimeHelpers
| * | | | Explicitly require AS::Time in AS::Testing::TimeHelpersT.J. Schuck2017-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you just try to use `ActiveSupport::Testing::TimeHelpers` standalone by requiring `active_support/testing/time_helpers`, you currently get an error: `NoMethodError: undefined method `change' for 2017-12-14 01:04:44 -0500:Time` 9f6e82ee4783e491c20f5244a613fdeb4024beb5 added a dependency on `AS::Time` by using `AS::Time#change`. Here's a script to reproduce the error: ```ruby require "bundler/inline" gemfile(true) do source "https://rubygems.org" gem "activesupport", github: "rails/rails" end require "active_support/testing/time_helpers" require "minitest/autorun" class BugTest < Minitest::Test include ActiveSupport::Testing::TimeHelpers def test_stuff travel_to Time.new(2017, 12, 14, 01, 04, 44) do assert true end end end ``` It currently fails for all 5.x.x versions and master. Ideally, this would be backported to `5-0-stable` and `5-1-stable` as well.
* | | | | Fix Enumerable#sum redefined warningFumiaki MATSUSHIMA2017-04-181-23/+45
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we require 'active_support/core_ext/enumerable' on Ruby 2.4, we'll see following warning because `Enumerable#sum` and `Array#sum` are added in Ruby 2.4. ``` rails/rails/activesupport/lib/active_support/core_ext/enumerable.rb:20: warning: method redefined; discarding old sum ``` The minimal way to fix the warning is `alias sum sum`. ``` $ ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] $ ruby -w -e "def a; end; def a; end" -e:1: warning: method redefined; discarding old a -e:1: warning: previous definition of a was here $ ruby -w -e "def a; end; alias a a; def a; end" ``` But this behavior is not intended. (@amatsuda was told by @ko1) So we should use `alias` as a meaningful way. Ruby 2.4's `sum` (`orig_sum`) assumes an `identity` is `0` when we omit `identity` so we can delegate to `orig_sum` with explicit `identity` only. In a strict sense, we can detect `identity` by check instance's class but we don't care at this time about that because calling `Enumerable#sum` is rare. In many cases, we will call `Array#sum`.
* | | | Add missing periodsJon Moss2017-04-171-2/+2
| | | | | | | | | | | | | | | | [ci skip]
* | | | Add (more) documentation to to_timeKen Mayer2017-04-171-0/+3
| | | | | | | | | | | | | | | | | | | | There's a difference in the results between `Date#to_time(:local)` and `Date#in_time_zone` but it is subtle and can confuse users (like me :-).
* | | | There are actually only 134 unique timezones.Chris Dosé2017-04-161-1/+1
| | | |
* | | | Add Puerto Rico support to ActiveSupport::TimeZoneChris Dosé2017-04-161-0/+1
| | | |
* | | | Merge pull request #28638 from bogdanvlviv/prepend_and_append_in_rubyKasper Timm Hansen2017-04-151-2/+2
|\ \ \ \ | | | | | | | | | | Prevent aliases Array#append and Array#prepend
| * | | | Prevent aliases Array#append and Array#prependbogdanvlviv2017-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | https://github.com/ruby/ruby/commit/f57d515d69b7a35477b9ba5d08fe117df1f1e275
* | | | | Add additional options to time `change` methodsAndrew White2017-04-146-15/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support `:offset` in `Time#change` and `:zone` or `:offset` in `ActiveSupport::TimeWithZone#change`. Fixes #28723.
* | | | | Move CHANGELOG.md entry from Active Support to Action PackJon Moss2017-04-111-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was looking through #28402, and realized the CHANGELOG.md entry is in the wrong place. Sorry we didn't catch this during code review :cry: [ci skip]
* | | | | Add action_controller_api, action_controller_base on_load hookJulian Nadeau2017-04-101-1/+13
| | | | |
* | | | | Implement `fetch_values` for HashWithIndifferentAccess (#28316)Josh Pencheon2017-04-103-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `fetch_values` was added to Hash in Ruby 2.3.0: https://bugs.ruby-lang.org/issues/10017 This patch adds an implemention for instances of HWAI, in line with the existing definitions of `fetch` and `values_at`.
* | | | | delegate_missing_to should fall back to superMatthew Draper2017-04-092-1/+23
| | | | |
* | | | | delegate_to_missing doesn't delegate private methodsMatthew Draper2017-04-092-1/+14
| | | | | | | | | | | | | | | | | | | | So we shouldn't claim they're there, even when asked explicitly.
* | | | | Fix `warning: already initialized constant ↵Ryuta Kamizono2017-04-071-1/+0
|/ / / / | | | | | | | | | | | | | | | | | | | | HashWithIndifferentAccessTest::HashWithIndifferentAccess` Caused since #28607.
* | | | Move HashWithIndifferentAccess tests to separate fileMichael Stock2017-03-302-712/+734
| | | |
* | | | Add aliases for reverse_merge to with_defaultsMatt Casper2017-03-293-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | In the context of controller parameters, reverse_merge is commonly used to provide defaults for user input. Having an alias to reverse_merge called with_defaults feels more idiomatic for Rails.
* | | | Use keyword arguments instead of hashRafael Mendonça França2017-03-282-9/+11
| | | |
* | | | Merge pull request #28480 from ↵Rafael Mendonça França2017-03-285-21/+81
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | mubashirhanif/add_keep_id_suffix_option_to_humanize_new Add keep id suffix option to humanize new
| * | | | Added options hash to titleize method and keep_id_suffix option to humanizeMubashir Hanif2017-03-215-21/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | some documentation remove extra whitespace. Added id in the middle test case and corrected some testcases. Some Coding standard guidelines corrections as suggested by codeclimate. Some more corrections suggested by codeclimate.
* | | | | starts_with? is removed in Ruby 2.4Rafael Mendonça França2017-03-281-1/+1
| | | | |
* | | | | Merge pull request #1 from radiospiel/tickets/26955-listen-pathsRafael Mendonça França2017-03-281-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | No longer listens to dirs outside of the app directory.
| * | | | | No longer listens to dirs inside of installed gemseno2016-11-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rails5 uses the listen gem to watch for changes from autoload directories and from i18n directories. Changes there would be reflected by the running app, in development mode usually. However, files outside of the application directory or locally installed gems should not change during development, and rails does not need to reflect changes there if they do. This change makes sure only those paths that do not originate from the app itself are watched. This can help especially with the situation on OSX, where rb-fsevent - which implements file watching - is quite a resource hog.
* | | | | | Return unmapped timezones from `country_zones`Andrew White2017-03-282-5/+16
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a country doesn't exist in the MAPPINGS hash then create a new `ActiveSupport::Timezone` instance using the supplied timezone id. Fixes #28431.
* | | | | minor CHANGELOG formatting changes. [ci skip]Yves Senn2017-03-261-1/+0
| | | | |
* | | | | Fix doc format for `duplicable?` [ci skip]yuuji.yaginuma2017-03-251-6/+6
| | | | |
* | | | | Remove unnecessary ruby version comments [ci skip]Vipul A M2017-03-241-2/+2
| | | | |
* | | | | Fix duplicable? for Ratiional and Complex on ruby master, since they are now ↵Vipul A M2017-03-232-13/+26
| | | | | | | | | | | | | | | | | | | | duplicable
* | | | | No need to have an entry that was included in 5.1 in 5.2Rafael Mendonça França2017-03-221-11/+0
| | | | | | | | | | | | | | | | | | | | [ci skip]