activesupport 7.1.0.rc2 → 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
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
@@ -203,16 +203,20 @@ module ActiveSupport
|
|
203
203
|
@broadcasts.each { |logger| block.call(logger) }
|
204
204
|
end
|
205
205
|
|
206
|
-
def method_missing(name, *args)
|
206
|
+
def method_missing(name, *args, &block)
|
207
207
|
loggers = @broadcasts.select { |logger| logger.respond_to?(name) }
|
208
208
|
|
209
209
|
if loggers.none?
|
210
|
-
super(name, *args)
|
210
|
+
super(name, *args, &block)
|
211
211
|
elsif loggers.one?
|
212
|
-
loggers.first.send(name, *args)
|
212
|
+
loggers.first.send(name, *args, &block)
|
213
213
|
else
|
214
|
-
loggers.map { |logger| logger.send(name, *args) }
|
214
|
+
loggers.map { |logger| logger.send(name, *args, &block) }
|
215
215
|
end
|
216
216
|
end
|
217
|
+
|
218
|
+
def respond_to_missing?(method, include_all)
|
219
|
+
@broadcasts.any? { |logger| logger.respond_to?(method, include_all) }
|
220
|
+
end
|
217
221
|
end
|
218
222
|
end
|
@@ -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!(/^-/, "")
|
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-10-
|
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:
|