2.3 KiB
-
Support parsing JSON time in ISO8601 local time strings in
ActiveSupport::JSON.decode
whenparse_json_times
is enabled. Strings in the format ofYYYY-MM-DD hh:mm:ss
(without aZ
at the end) will be parsed in the local timezone (Time.zone
). In addition, date strings (YYYY-MM-DD
) are now parsed intoDate
objects.Grzegorz Witek
-
Fixed
ActiveSupport::Logger.broadcast
so that calls to#silence
now properly delegate to all loggers. Silencing now properly suppresses logging to both the log and the console.Kevin McPhillips
-
Remove deprecated arguments in
assert_nothing_raised
.Rafel Mendonça França
-
Date.to_s
doesn't produce too many spaces. For example,to_s(:short)
will now produce01 Feb
instead of1 Feb
.Fixes #25251.
Sean Griffin
-
Introduce Module#delegate_missing_to.
When building a decorator, a common pattern emerges:
class Partition def initialize(first_event) @events = [ first_event ] end def people if @events.first.detail.people.any? @events.collect { |e| Array(e.detail.people) }.flatten.uniq else @events.collect(&:creator).uniq end end private def respond_to_missing?(name, include_private = false) @events.respond_to?(name, include_private) end def method_missing(method, *args, &block) @events.send(method, *args, &block) end end
With
Module#delegate_missing_to
, the above is condensed to:class Partition delegate_missing_to :@events def initialize(first_event) @events = [ first_event ] end def people if @events.first.detail.people.any? @events.collect { |e| Array(e.detail.people) }.flatten.uniq else @events.collect(&:creator).uniq end end end
Genadi Samokovarov, DHH
-
Rescuable: If a handler doesn't match the exception, check for handlers matching the exception's cause.
Jeremy Daer
Please check 5-0-stable for previous changes.