- 19 5月, 2017 1 次提交
-
-
由 David Heinemeier Hansson 提交于
-
- 30 4月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
* Remove trailing spaces. * Add backticks around method and command. * Fix indentation.
-
- 20 4月, 2017 1 次提交
-
-
由 Willem van Bergen 提交于
Send deprecation horizon and gem name as arguments to deprecation heavier handler, and make sure they are used for the ActiveSupport::Notifications message.
-
- 15 4月, 2017 1 次提交
-
-
由 Andrew White 提交于
Support `:offset` in `Time#change` and `:zone` or `:offset` in `ActiveSupport::TimeWithZone#change`. Fixes #28723.
-
- 12 4月, 2017 1 次提交
-
-
由 Jon Moss 提交于
Was looking through #28402, and realized the CHANGELOG.md entry is in the wrong place. Sorry we didn't catch this during code review
😢 [ci skip]
-
- 11 4月, 2017 1 次提交
-
-
由 Julian Nadeau 提交于
-
- 10 4月, 2017 1 次提交
-
-
由 Josh Pencheon 提交于
`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`.
-
- 26 3月, 2017 1 次提交
-
-
由 Yves Senn 提交于
-
- 23 3月, 2017 2 次提交
-
-
由 Rafael Mendonça França 提交于
[ci skip]
-
由 Dominic Cleal 提交于
An alternative to DeprecatedConstantProxy which works more transparently with exceptions because it returns the object that the new constant refers to rather than a proxy. This is then compatible with `rescue OldException`.
-
- 22 3月, 2017 1 次提交
-
-
由 Matthew Draper 提交于
-
- 16 3月, 2017 1 次提交
-
-
由 yuuji.yaginuma 提交于
-
- 15 3月, 2017 1 次提交
-
-
由 Andrew White 提交于
In #28204 we deprecated implicit conversion of durations to a numeric which represented the number of seconds in the duration because of unwanted side effects with calculations on durations and dates. This unfortunately had the side effect of forcing a explicit cast when configuring third-party libraries like expiration in Redis, e.g: redis.expire("foo", 5.minutes) To work around this we've removed the deprecation and added a private class that wraps the numeric and can perform calculation involving durations and ensure that they remain a duration irrespective of the order of operations.
-
- 14 3月, 2017 1 次提交
-
-
由 Jon Moss 提交于
[ci skip]
-
- 11 3月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 07 3月, 2017 3 次提交
-
-
由 Kevin McPhillips 提交于
Handle #to_time and memoization taking into account memoization, frozen state, and preserve_timezone flag.
-
由 yuuji.yaginuma 提交于
-
由 Andrew White 提交于
In 4b685aad the regex in `titlelize` was updated to not match apostrophes to better reflect the nature of the transformation. Unfortunately this had the side effect of breaking capitalization on the first word of a sub-string, e.g: >> "This was 'fake news'".titleize => "This Was 'fake News'" This is fixed by extending the look-behind to also check for a word character on the other side of the apostrophe. Fixes #28312.
-
- 04 3月, 2017 4 次提交
-
-
由 Andrew White 提交于
For naming consistency when using the RFC 3339 profile of ISO 8601 in applications.
-
由 Andrew White 提交于
The `Time.xmlschema` and consequently its alias `iso8601` accepts timestamps without a offset in contravention of the RFC 3339 standard. This method enforces that constraint and raises an `ArgumentError` if it doesn't.
-
由 Andrew White 提交于
Previously there was no way to get a RFC 3339 timestamp into a specific timezone without either using `parse` or chaining methods. The new method allows parsing directly into the timezone, e.g: >> Time.zone = "Hawaii" => "Hawaii" >> Time.zone.rfc3339("1999-12-31T14:00:00Z") => Fri, 31 Dec 1999 14:00:00 HST -10:00 This new method has stricter semantics than the current `parse` method and will raise an `ArgumentError` instead of returning nil, e.g: >> Time.zone = "Hawaii" => "Hawaii" >> Time.zone.rfc3339("foobar") ArgumentError: invalid date >> Time.zone.parse("foobar") => nil It will also raise an `ArgumentError` when either the time or offset components are missing, e.g: >> Time.zone = "Hawaii" => "Hawaii" >> Time.zone.rfc3339("1999-12-31") ArgumentError: invalid date >> Time.zone.rfc3339("1999-12-31T14:00:00") ArgumentError: invalid date
-
由 Andrew White 提交于
Previously there was no way to get a ISO 8601 timestamp into a specific timezone without either using `parse` or chaining methods. The new method allows parsing directly into the timezone, e.g: >> Time.zone = "Hawaii" => "Hawaii" >> Time.zone.iso8601("1999-12-31T14:00:00Z") => Fri, 31 Dec 1999 14:00:00 HST -10:00 If the timestamp is a ISO 8601 date (YYYY-MM-DD) then the time is set to midnight, e.g: >> Time.zone = "Hawaii" => "Hawaii" >> Time.zone.iso8601("1999-12-31") => Fri, 31 Dec 1999 00:00:00 HST -10:00 This new method has stricter semantics than the current `parse` method and will raise an `ArgumentError` instead of returning nil, e.g: >> Time.zone = "Hawaii" => "Hawaii" >> Time.zone.iso8601("foobar") ArgumentError: invalid date >> Time.zone.parse("foobar") => nil
-
- 02 3月, 2017 2 次提交
-
-
由 Andrew White 提交于
Currently `ActiveSupport::Duration` implicitly converts to a seconds value when used in a calculation except for the explicit examples of addition and subtraction where the duration is the receiver, e.g: >> 2 * 1.day => 172800 This results in lots of confusion especially when using durations with dates because adding/subtracting a value from a date treats integers as a day and not a second, e.g: >> Date.today => Wed, 01 Mar 2017 >> Date.today + 2 * 1.day => Mon, 10 Apr 2490 To fix this we're implementing `coerce` so that we can provide a deprecation warning with the intent of removing the implicit coercion in Rails 5.2, e.g: >> 2 * 1.day DEPRECATION WARNING: Implicit coercion of ActiveSupport::Duration to a Numeric is deprecated and will raise a TypeError in Rails 5.2. => 172800 In Rails 5.2 it will raise `TypeError`, e.g: >> 2 * 1.day TypeError: ActiveSupport::Duration can't be coerced into Integer This is the same behavior as with other types in Ruby, e.g: >> 2 * "foo" TypeError: String can't be coerced into Integer >> "foo" * 2 => "foofoo" As part of this deprecation add `*` and `/` methods to `AS::Duration` so that calculations that keep the duration as the receiver work correctly whether the final receiver is a `Date` or `Time`, e.g: >> Date.today => Wed, 01 Mar 2017 >> Date.today + 1.day * 2 => Fri, 03 Mar 2017 Fixes #27457.
-
由 Andrew White 提交于
Adding support for these options now allows us to update the `DateTime#end_of` methods to match the equivalent `Time#end_of` methods, e.g: datetime = DateTime.now.end_of_day datetime.nsec == 999999999 # => true Fixes #21424.
-
- 26 2月, 2017 2 次提交
-
-
由 Nick Johnstone 提交于
It's common in test cases at my job to have code like this: let(:today) { customer_start_date + 2.weeks } let(:earlier_date) { today - 5.days } With this change, we can instead write let(:today) { 2.weeks.after(customer_start_date) } let(:earlier_date) { 5.days.before(today) } Closes #27721
-
由 Vipul A M 提交于
-
- 25 2月, 2017 5 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Rafael Mendonça França 提交于
-
由 Robin Dupret 提交于
Since using a `ActiveSupport::Deprecation::DeprecatedConstantProxy` would prevent people from inheriting this class and extending it from the `ActiveSupport::HashWithIndifferentAccess` one would break the ancestors chain, that's the best option we have here.
-
由 Dylan Thacker-Smith 提交于
A gzip file has a checksum and length for the decompressed data in its footer which isn't checked by just calling Zlib::GzipReader#read. Calling Zlib::GzipReader#close must be called after reading to the end of the file causes this check to be done, which is done by Zlib::GzipReader.wrap after its block is called.
-
由 Jeff Latz 提交于
-
- 24 2月, 2017 1 次提交
-
-
由 Rafael Mendonça França 提交于
-
- 22 2月, 2017 1 次提交
-
-
由 Andrew White 提交于
-
- 21 2月, 2017 1 次提交
-
-
由 Kasper Timm Hansen 提交于
Pointed out by @matthewd that the HWIA subclass changes the AS scoped class and top-level HWIA hierarchies out from under existing classes. This reverts commit 71da3909, reversing changes made to 41c33bd4.
-
- 20 2月, 2017 1 次提交
-
-
由 Robin Dupret 提交于
This constant was kept for the sake of backward compatibility; it is still available under `ActiveSupport::HashWithIndifferentAccess`. Furthermore, since Ruby 2.5 (https://bugs.ruby-lang.org/issues/11547) won't support top level constant lookup, people would have to update their code anyway.
-
- 08 2月, 2017 1 次提交
-
-
由 yuuji.yaginuma 提交于
deprecate `halt_callback_chains_on_return_false` instead of `halt_and_display_warning_on_return_false` `halt_and_display_warning_on_return_false` is not a public API and application is using `halt_callback_chains_on_return_false`. https://github.com/rails/rails/blob/5-0-stable/railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults.rb.tt#L29 https://github.com/rails/rails/blob/5-0-stable/activesupport/lib/active_support.rb#L86..L88 Therefore, deprecate messages should be issued for `halt_callback_chains_on_return_false` instead of `halt_and_display_warning_on_return_false`.
-
- 07 2月, 2017 2 次提交
-
-
由 Rafael Mendonça França 提交于
-
由 Rafael Mendonça França 提交于
-
- 04 2月, 2017 2 次提交
-
-
由 Ryuta Kamizono 提交于
Deprecate passing string to `:if` and `:unless` conditional options on `set_callback` and `skip_callback`
-
由 Ryuta Kamizono 提交于
And raise `ArgumentError` when passing string to define callback.
-