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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 680e4677ad9c5c80f0e8ca9b8fe7e4df0706ff259937be2547ba2e73fefc2c59
4
- data.tar.gz: 80dbd580c5d1ff3f342599ca0162c20845a7b0ea6a8fa0c88abea51643569ae3
3
+ metadata.gz: 82365193f8aa8e04a486a7ed6f82adeb64093abd70569d67c7756b065f754b82
4
+ data.tar.gz: ececf5de5e7b69fe11b7edc1007e7b850c2463005ffba7f2763b85636e192d98
5
5
  SHA512:
6
- metadata.gz: a3dca2799c3af8ac3a5298a5a67061cf4225bdc388972908f072c877d0c5108b714576db0b550b967c54526c785dd9f601fbc6a4b3720d90bd016ed200088227
7
- data.tar.gz: 53b99d38845de0067923c74518c21f2a370f8595e0eb6ad37a0beb5d3c8f2685e774a4aabb361e63aff7b699922fed4615db9e94c36db08f9e7acebff10ab26d
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
@@ -10,7 +10,7 @@ module ActiveSupport
10
10
  MAJOR = 7
11
11
  MINOR = 1
12
12
  TINY = 0
13
- PRE = "rc1"
13
+ PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  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
- logdev = logger.instance_variable_get(:@logdev)
18
- logger_source = logdev.dev if logdev.respond_to?(:dev)
19
- sources.any? { |source| source == logger_source }
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)
@@ -51,7 +51,7 @@ module ActiveSupport
51
51
  install_unregistered_type_handler
52
52
  message_pack_factory.freeze
53
53
  end
54
- message_pack_factory.pool(ENV.fetch("RAILS_MAX_THREADS") { 5 })
54
+ message_pack_factory.pool(ENV.fetch("RAILS_MAX_THREADS", 5).to_i)
55
55
  end
56
56
  end
57
57
 
@@ -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!(/^-/, "")
@@ -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, TZInfo::ZoneinfoDirectoryNotFound => e
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.rc1
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-09-27 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.rc1/activesupport/CHANGELOG.md
450
- documentation_uri: https://api.rubyonrails.org/v7.1.0.rc1/
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.rc1/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: