activesupport 7.1.0.rc2 → 7.1.0
Sign up to get free protection for your applications and to get access to all the features.
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:
|