activesupport 7.1.0.rc1 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|