activesupport 7.1.0.rc1 → 7.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/active_support/broadcast_logger.rb +16 -0
- data/lib/active_support/gem_version.rb +1 -1
- data/lib/active_support/logger.rb +10 -3
- data/lib/active_support/message_pack/serializer.rb +1 -1
- data/lib/active_support/number_helper/number_converter.rb +10 -3
- data/lib/active_support/number_helper/number_to_currency_converter.rb +6 -6
- data/lib/active_support/railtie.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82365193f8aa8e04a486a7ed6f82adeb64093abd70569d67c7756b065f754b82
|
4
|
+
data.tar.gz: ececf5de5e7b69fe11b7edc1007e7b850c2463005ffba7f2763b85636e192d98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6daffabed388ec6412bff231a3d2478f430625d266078fe186c92594353b87026dc22a492e689ea7a716a570eb75a9eb53582a45b33627a06444be1b560da7e
|
7
|
+
data.tar.gz: 33dc1b13f205838ad773fc7c4bfda5bb6bec704cbdb7ffdaedfe938a91088c2dd98d1ade38514689dbb66d2f5f45e3871973b8981c21cd6deabec0cff41349da
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## Rails 7.1.0 (October 05, 2023) ##
|
2
|
+
|
3
|
+
* No changes.
|
4
|
+
|
5
|
+
|
6
|
+
## Rails 7.1.0.rc2 (October 01, 2023) ##
|
7
|
+
|
8
|
+
* Fix `AS::MessagePack` with `ENV["RAILS_MAX_THREADS"]`.
|
9
|
+
|
10
|
+
*Jonathan Hefner*
|
11
|
+
|
12
|
+
|
1
13
|
## Rails 7.1.0.rc1 (September 27, 2023) ##
|
2
14
|
|
3
15
|
* Add a new public API for broadcasting logs
|
@@ -202,5 +202,21 @@ module ActiveSupport
|
|
202
202
|
def dispatch(&block)
|
203
203
|
@broadcasts.each { |logger| block.call(logger) }
|
204
204
|
end
|
205
|
+
|
206
|
+
def method_missing(name, *args, &block)
|
207
|
+
loggers = @broadcasts.select { |logger| logger.respond_to?(name) }
|
208
|
+
|
209
|
+
if loggers.none?
|
210
|
+
super(name, *args, &block)
|
211
|
+
elsif loggers.one?
|
212
|
+
loggers.first.send(name, *args, &block)
|
213
|
+
else
|
214
|
+
loggers.map { |logger| logger.send(name, *args, &block) }
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
def respond_to_missing?(method, include_all)
|
219
|
+
@broadcasts.any? { |logger| logger.respond_to?(method, include_all) }
|
220
|
+
end
|
205
221
|
end
|
206
222
|
end
|
@@ -14,9 +14,16 @@ module ActiveSupport
|
|
14
14
|
# ActiveSupport::Logger.logger_outputs_to?(logger, STDOUT)
|
15
15
|
# # => true
|
16
16
|
def self.logger_outputs_to?(logger, *sources)
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
loggers = if logger.is_a?(BroadcastLogger)
|
18
|
+
logger.broadcasts
|
19
|
+
else
|
20
|
+
[logger]
|
21
|
+
end
|
22
|
+
|
23
|
+
logdevs = loggers.map { |logger| logger.instance_variable_get(:@logdev) }
|
24
|
+
logger_sources = logdevs.filter_map { |logdev| logdev.dev if logdev.respond_to?(:dev) }
|
25
|
+
|
26
|
+
(sources & logger_sources).any?
|
20
27
|
end
|
21
28
|
|
22
29
|
def initialize(*args, **kwargs)
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "bigdecimal"
|
4
|
+
require "bigdecimal/util"
|
3
5
|
require "active_support/core_ext/big_decimal/conversions"
|
4
6
|
require "active_support/core_ext/hash/keys"
|
5
7
|
require "active_support/i18n"
|
@@ -128,7 +130,7 @@ module ActiveSupport
|
|
128
130
|
def execute
|
129
131
|
if !number
|
130
132
|
nil
|
131
|
-
elsif validate_float? && !
|
133
|
+
elsif validate_float? && !valid_bigdecimal
|
132
134
|
number
|
133
135
|
else
|
134
136
|
convert
|
@@ -173,8 +175,13 @@ module ActiveSupport
|
|
173
175
|
key.split(".").reduce(DEFAULTS) { |defaults, k| defaults[k.to_sym] }
|
174
176
|
end
|
175
177
|
|
176
|
-
def
|
177
|
-
|
178
|
+
def valid_bigdecimal
|
179
|
+
case number
|
180
|
+
when Float, Rational
|
181
|
+
number.to_d(0)
|
182
|
+
else
|
183
|
+
BigDecimal(number, exception: false)
|
184
|
+
end
|
178
185
|
end
|
179
186
|
end
|
180
187
|
end
|
@@ -10,13 +10,13 @@ module ActiveSupport
|
|
10
10
|
def convert
|
11
11
|
format = options[:format]
|
12
12
|
|
13
|
-
|
14
|
-
if
|
15
|
-
if
|
16
|
-
|
17
|
-
format = options[:negative_format] if (
|
13
|
+
number_d = valid_bigdecimal
|
14
|
+
if number_d
|
15
|
+
if number_d.negative?
|
16
|
+
number_d = number_d.abs
|
17
|
+
format = options[:negative_format] if (number_d * 10**options[:precision]) >= 0.5
|
18
18
|
end
|
19
|
-
number_s = NumberToRoundedConverter.convert(
|
19
|
+
number_s = NumberToRoundedConverter.convert(number_d, options)
|
20
20
|
else
|
21
21
|
number_s = number.to_s.strip
|
22
22
|
format = options[:negative_format] if number_s.sub!(/^-/, "")
|
@@ -88,7 +88,7 @@ module ActiveSupport
|
|
88
88
|
initializer "active_support.initialize_time_zone" do |app|
|
89
89
|
begin
|
90
90
|
TZInfo::DataSource.get
|
91
|
-
rescue TZInfo::DataSourceNotFound
|
91
|
+
rescue TZInfo::DataSourceNotFound => e
|
92
92
|
raise e.exception "tzinfo-data is not present. Please add gem 'tzinfo-data' to your Gemfile and run bundle install"
|
93
93
|
end
|
94
94
|
require "active_support/core_ext/time/zones"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activesupport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.1.0
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -446,10 +446,10 @@ licenses:
|
|
446
446
|
- MIT
|
447
447
|
metadata:
|
448
448
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
449
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.1.0
|
450
|
-
documentation_uri: https://api.rubyonrails.org/v7.1.0
|
449
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.1.0/activesupport/CHANGELOG.md
|
450
|
+
documentation_uri: https://api.rubyonrails.org/v7.1.0/
|
451
451
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
452
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.1.0
|
452
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.1.0/activesupport
|
453
453
|
rubygems_mfa_required: 'true'
|
454
454
|
post_install_message:
|
455
455
|
rdoc_options:
|
@@ -464,9 +464,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
464
464
|
version: 2.7.0
|
465
465
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
466
466
|
requirements:
|
467
|
-
- - "
|
467
|
+
- - ">="
|
468
468
|
- !ruby/object:Gem::Version
|
469
|
-
version:
|
469
|
+
version: '0'
|
470
470
|
requirements: []
|
471
471
|
rubygems_version: 3.4.18
|
472
472
|
signing_key:
|