- 19 4月, 2017 5 次提交
-
-
由 Rafael França 提交于
Explicitly require AS::Time in AS::Testing::TimeHelpers
-
由 Rafael França 提交于
Fix Enumerable#sum redefined warning
-
由 T.J. Schuck 提交于
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` 9f6e82ee 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.
-
由 Rafael Mendonça França 提交于
This reverts commit b86631d9, reversing changes made to 8776a713. ActiveSupport::Notifications is loaded using autoload that is defined by the top level file of `active_support`. All the frameworks of Rails requires the top level files before using any of the others files inside the framework because the top level file is what setup the autoload hooks and require the common dependencies.
-
由 Andrew White 提交于
Explicitly require AS::Notifications in AS::Cache
-
- 18 4月, 2017 7 次提交
-
-
由 Fumiaki MATSUSHIMA 提交于
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`.
-
由 Andrew White 提交于
The current check for whether to add an optional format to the path is very lax and will match things like `:format_id` where there are nested resources, e.g: resources :formats do resources :items end Fix this by using a more restrictive regex pattern that looks for the patterns `(.:format)`, `.:format` or `/` at the end of the path. Note that we need to allow for multiple closing parenthesis since the route may be of this form: get "/books(/:action(.:format))", controller: "books" This probably isn't what's intended since it means that the default index action route doesn't support a format but we have a test for it so we need to allow it. Fixes #28517.
-
由 Jon Moss 提交于
[ci skip]
-
由 Jon Moss 提交于
Add more explanation to to_time about timezones
-
由 Jon Moss 提交于
Add missing word "programming", to clarify what type of language Ruby is ;) [ci skip]
-
由 Ken Mayer 提交于
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 :-).
-
由 T.J. Schuck 提交于
Right now, if you install the current release version of Active Support (5.0.2) and try to use its cache implementation standalone by requiring `active_support/cache`, it crashes with `NameError: uninitialized constant ActiveSupport::Notifications`. `AS::Notifications` is used in `cache.rb` down around [line 555](https://github.com/rails/rails/blob/8776a7139757d0b264785c774d4e7f37d4bc1ac7/activesupport/lib/active_support/cache.rb#L555). Here's a quick repro script: ```ruby require "bundler/inline" gemfile(true) do source "https://rubygems.org" gem "activesupport", "5.0.2" end require "active_support/cache" cache_store = ActiveSupport::Cache::MemoryStore.new cache_store.write('test', 'okay') puts cache_store.read('test') ``` However, any version _newer_ than 5.0.2 passes. This is because [this commit](https://github.com/rails/rails/commit/75924c4517c8f87712d3f59c11f10152ed57b9d8) inadvertently included `AS::Notifications` into `AS::Cache` (thus fixing the issue) by mixing [`AS::Deprecation` into `AS::Duration`](https://github.com/rails/rails/blob/75924c4517c8f87712d3f59c11f10152ed57b9d8/activesupport/lib/active_support/duration.rb#L4), giving you a nice require chain of [`Cache` including `Time`][1] [including `Duration`][2] [including `Deprecation`][3] [including `Behaviors`][4] [including `Notifications`][5]. Phew. Aside from being not very explicit, the fact that the fixing is specifically done by `AS::Deprecation` means that this fix is probably only temporary (until the deprecation is removed). This PR just makes the inclusion explicit to future-proof against this breakage. (Ideally, this would also be backported to `5-0-stable` to get picked up in any subsequent point release.) See also: https://github.com/rails/rails/pull/14667 [1]: https://github.com/rails/rails/blob/75924c4517c8f87712d3f59c11f10152ed57b9d8/activesupport/lib/active_support/cache.rb#L6 [2]: https://github.com/rails/rails/blob/75924c4517c8f87712d3f59c11f10152ed57b9d8/activesupport/lib/active_support/time.rb#L2 [3]: https://github.com/rails/rails/blob/75924c4517c8f87712d3f59c11f10152ed57b9d8/activesupport/lib/active_support/duration.rb#L4 [4]: https://github.com/rails/rails/blob/75924c4517c8f87712d3f59c11f10152ed57b9d8/activesupport/lib/active_support/deprecation.rb#L16 [5]: https://github.com/rails/rails/blob/75924c4517c8f87712d3f59c11f10152ed57b9d8/activesupport/lib/active_support/deprecation/behaviors.rb#L1
-
- 17 4月, 2017 10 次提交
-
-
由 Andrew White 提交于
Add Puerto Rico support to ActiveSupport::TimeZone
-
由 Kasper Timm Hansen 提交于
Add missing word 'to' [ci skip]
-
由 Kasper Timm Hansen 提交于
Smooth form with upgrading
-
由 Eric Henziger 提交于
While the original sentence is easy to understand, adding the 'to' is imho a bit more correct. Sources: * https://ell.stackexchange.com/q/16964 * https://www.usingenglish.com/forum/threads/127099-It-is-referred-as-or-It-is-referred-to-as
-
由 Ryuta Kamizono 提交于
Since 1a92ae83 all `indexes` methods are under the `SchemaStatements`.
-
由 Jon Moss 提交于
[ci skip]
-
由 Jon Moss 提交于
[ci skip]
-
由 Chris Dosé 提交于
-
由 Chris Dosé 提交于
-
由 Matthew Draper 提交于
Support Descending Indexes for MySQL
-
- 16 4月, 2017 9 次提交
-
-
由 Kasper Timm Hansen 提交于
-
由 Kasper Timm Hansen 提交于
Allows users to not have remote forms by default, since there's more JS harness, e.g. bundling rails-ujs, otherwise. Also don't skip creating defaults file anymore. Sprockets isn't the only new config.
-
由 Kasper Timm Hansen 提交于
Effectively treat nil values as "auto", e.g. whatever a form helper chooses to interpret it as. But treat an explicitly assigned false value as disabling.
-
由 Kasper Timm Hansen 提交于
-
由 Kasper Timm Hansen 提交于
Use the config value directly when call `secrets`
-
由 yuuji.yaginuma 提交于
Currently, `read_encrypted_secrets` is set with initializer. Therefore if refer to `secrets` in config, `read_encrypted_secrets` is false, so can not get the value of `secrets.yml.enc`. In order to be able to refer to secrets in config, modified to refer to `config.read_encrypted_secrets` when calling `secrets`. Fixes #28618.
-
由 Ryuta Kamizono 提交于
MySQL 8.0.1 and higher supports descending indexes: `DESC` in an index definition is no longer ignored. See https://dev.mysql.com/doc/refman/8.0/en/descending-indexes.html.
-
由 Ryuta Kamizono 提交于
* Use keyword arguments in `IndexDefinition` to ease to ignore unused options and to avoid to initialize incorrect empty value. * Place it in `SchemaStatements` for consistency. * And tiny tweaks.
-
由 Jon Moss 提交于
Changelog links at the top of the components, and lowercased the 'c' in notable changes. Personally, the styling isn't super important to me, but it's what we always done in previous guides, so I figured it's better to keep with what we've always done. [ci skip]
-
- 15 4月, 2017 9 次提交
-
-
由 Kasper Timm Hansen 提交于
Prevent aliases Array#append and Array#prepend
-
由 Kasper Timm Hansen 提交于
Started adding release notes for Rails 5.1 [ci skip]
-
由 Andrew White 提交于
Rename `association_query_handler.rb` to `association_query_value.rb`
-
由 Kasper Timm Hansen 提交于
Early return in `PredicateBuilder::ArrayHandler`
-
由 Ryuta Kamizono 提交于
Partitioning to `values` and `nils` is unneeded before early return.
-
由 Ryuta Kamizono 提交于
Since `AssociationQueryHandler` and `PolymorphicArrayHandler` has removed in #28715, only exists `AssociationQueryValue` and `PolymorphicArrayValue` in these files.
-
由 Ryuta Kamizono 提交于
Fix module name [ci skip]
-
由 yuuji.yaginuma 提交于
Replace `FormOptionHelper` to `FormOptionsHelper`.
-
由 Aaron Patterson 提交于
Move around AR::Dirty and fix _attribute method
-