@@ -439,44 +439,54 @@ def defaults_hash
439
439
440
440
version_defaults [ :default ] = Config [ default . send ( :defaults_hash ) ]
441
441
442
- version_defaults [ 0 ] = Config [ :default ] . dup . update (
442
+ version_defaults [ 0 r ] = Config [ :default ] . dup . update (
443
443
sasl_ir : false ,
444
444
responses_without_block : :silence_deprecation_warning ,
445
445
enforce_logindisabled : false ,
446
446
parser_use_deprecated_uidplus_data : true ,
447
447
parser_max_deprecated_uidplus_data_size : 10_000 ,
448
448
) . freeze
449
- version_defaults [ 0.0 ] = Config [ 0 ]
450
- version_defaults [ 0.1 ] = Config [ 0 ]
451
- version_defaults [ 0.2 ] = Config [ 0 ]
452
- version_defaults [ 0.3 ] = Config [ 0 ]
449
+ version_defaults [ 0.0 r ] = Config [ 0 r ]
450
+ version_defaults [ 0.1 r ] = Config [ 0 r ]
451
+ version_defaults [ 0.2 r ] = Config [ 0 r ]
452
+ version_defaults [ 0.3 r ] = Config [ 0 r ]
453
453
454
- version_defaults [ 0.4 ] = Config [ 0.3 ] . dup . update (
454
+ version_defaults [ 0.4 r ] = Config [ 0.3 r ] . dup . update (
455
455
sasl_ir : true ,
456
456
parser_max_deprecated_uidplus_data_size : 1000 ,
457
457
) . freeze
458
458
459
- version_defaults [ 0.5 ] = Config [ 0.4 ] . dup . update (
459
+ version_defaults [ 0.5 r ] = Config [ 0.4 r ] . dup . update (
460
460
enforce_logindisabled : true ,
461
461
responses_without_block : :warn ,
462
462
parser_use_deprecated_uidplus_data : :up_to_max_size ,
463
463
parser_max_deprecated_uidplus_data_size : 100 ,
464
464
) . freeze
465
465
466
- version_defaults [ 0.6 ] = Config [ 0.5 ] . dup . update (
466
+ version_defaults [ 0.6 r ] = Config [ 0.5 r ] . dup . update (
467
467
responses_without_block : :frozen_dup ,
468
468
parser_use_deprecated_uidplus_data : false ,
469
469
parser_max_deprecated_uidplus_data_size : 0 ,
470
470
) . freeze
471
471
472
- version_defaults [ 0.7 ] = Config [ 0.6 ] . dup . update (
472
+ version_defaults [ 0.7 r ] = Config [ 0.6 r ] . dup . update (
473
473
) . freeze
474
474
475
- current = VERSION . to_f
475
+ # Safe conversions one way only:
476
+ # 0.6r.to_f == 0.6 # => true
477
+ # 0.6 .to_r == 0.6r # => false
478
+ version_defaults . to_a . each do |k , v |
479
+ next unless k in Rational
480
+ version_defaults [ k . to_f ] = v
481
+ next unless k . to_i . to_r == k
482
+ version_defaults [ k . to_i ] = v
483
+ end
484
+
485
+ current = VERSION . to_r
476
486
version_defaults [ :original ] = Config [ 0 ]
477
487
version_defaults [ :current ] = Config [ current ]
478
- version_defaults [ :next ] = Config [ current + 0.1 ]
479
- version_defaults [ :future ] = Config [ current + 0.2 ]
488
+ version_defaults [ :next ] = Config [ current + 0.1 r ]
489
+ version_defaults [ :future ] = Config [ current + 0.2 r ]
480
490
481
491
version_defaults . freeze
482
492
0 commit comments