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: 5e7c1720f83cebc94a181cd94c65ea558ed9e10a4635545893dd5e1bf054f27a
4
- data.tar.gz: f61b99bf85b449f9b5262fd32388bf378e5ecd949e9f35da00569025d9c4edda
3
+ metadata.gz: 82365193f8aa8e04a486a7ed6f82adeb64093abd70569d67c7756b065f754b82
4
+ data.tar.gz: ececf5de5e7b69fe11b7edc1007e7b850c2463005ffba7f2763b85636e192d98
5
5
  SHA512:
6
- metadata.gz: a363047116d2e984f879cbc39b674faa1deac4791ee325eb616aeb0b482c8c06ab134cabff46ddd6449fb768ff4ca2b06d5f7bf722eb7cb210d6f7c364d94980
7
- data.tar.gz: 47ca432654c35b2d8359c42d76e9dc517b8b797a5eac8efb74f5ae59fbcbbedef636a1c3df3891667bd2aefe0db7dd09ef1d1eab855438cef9c03d309f8f97e5
6
+ metadata.gz: e6daffabed388ec6412bff231a3d2478f430625d266078fe186c92594353b87026dc22a492e689ea7a716a570eb75a9eb53582a45b33627a06444be1b560da7e
7
+ data.tar.gz: 33dc1b13f205838ad773fc7c4bfda5bb6bec704cbdb7ffdaedfe938a91088c2dd98d1ade38514689dbb66d2f5f45e3871973b8981c21cd6deabec0cff41349da
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## Rails 7.1.0 (October 05, 2023) ##
2
+
3
+ * No changes.
4
+
5
+
1
6
  ## Rails 7.1.0.rc2 (October 01, 2023) ##
2
7
 
3
8
  * Fix `AS::MessagePack` with `ENV["RAILS_MAX_THREADS"]`.
@@ -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
@@ -10,7 +10,7 @@ module ActiveSupport
10
10
  MAJOR = 7
11
11
  MINOR = 1
12
12
  TINY = 0
13
- PRE = "rc2"
13
+ PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  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? && !valid_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 valid_float?
177
- Float(number, exception: false)
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
- number_f = valid_float?
14
- if number_f
15
- if number_f.negative?
16
- number_f = number_f.abs
17
- format = options[:negative_format] if (number_f * 10**options[:precision]) >= 0.5
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(number_f, options)
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.rc2
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-01 00:00:00.000000000 Z
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.rc2/activesupport/CHANGELOG.md
450
- documentation_uri: https://api.rubyonrails.org/v7.1.0.rc2/
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.rc2/activesupport
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: 1.3.1
469
+ version: '0'
470
470
  requirements: []
471
471
  rubygems_version: 3.4.18
472
472
  signing_key: