summaryrefslogtreecommitdiff
path: root/config/initializers/activesupport_duration_patch.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-08-09 22:50:08 +0200
committererdgeist <erdgeist@erdgeist.org>2026-08-09 22:50:08 +0200
commit6047bd39f7d08a17f679e6c6fc2487c5c2c6b611 (patch)
tree474a4b3b47ef539c2f74beb2da8eb9dc9fd5a6b9 /config/initializers/activesupport_duration_patch.rb
parentb1d3369d418383bd4e14946b723e4a39c0534a8a (diff)
Remove the Rails 3.2 duration patch
It reopened Integer and Float to work around duration arithmetic under Ruby 2.4 and Rails 3.2, and has been shadowing ActiveSupport's own helpers ever since. Its months were exactly 30 days and its years 365.25, both differing from ActiveSupport's constants, and it built Duration parts as an array of pairs rather than a hash, recording weeks as days and hours and minutes as seconds
Diffstat (limited to 'config/initializers/activesupport_duration_patch.rb')
-rw-r--r--config/initializers/activesupport_duration_patch.rb53
1 files changed, 0 insertions, 53 deletions
diff --git a/config/initializers/activesupport_duration_patch.rb b/config/initializers/activesupport_duration_patch.rb
deleted file mode 100644
index c2b431df..00000000
--- a/config/initializers/activesupport_duration_patch.rb
+++ /dev/null
@@ -1,53 +0,0 @@
1class Integer
2 def days
3 ActiveSupport::Duration.new(self * 86400, [[:days, self]])
4 end
5 alias :day :days
6
7 def weeks
8 ActiveSupport::Duration.new(self * 7 * 86400, [[:days, self * 7]])
9 end
10 alias :week :weeks
11
12 def hours
13 ActiveSupport::Duration.new(self * 3600, [[:seconds, self * 3600]])
14 end
15 alias :hour :hours
16
17 def minutes
18 ActiveSupport::Duration.new(self * 60, [[:seconds, self * 60]])
19 end
20 alias :minute :minutes
21
22 def seconds
23 ActiveSupport::Duration.new(self, [[:seconds, self]])
24 end
25 alias :second :seconds
26
27 def months
28 ActiveSupport::Duration.new(self * 30 * 86400, [[:months, self]])
29 end
30 alias :month :months
31
32 def years
33 ActiveSupport::Duration.new((self * 365.25 * 86400).to_i, [[:years, self]])
34 end
35 alias :year :years
36end
37
38class Float
39 def days
40 ActiveSupport::Duration.new((self * 86400).to_i, [[:days, self]])
41 end
42 alias :day :days
43
44 def hours
45 ActiveSupport::Duration.new((self * 3600).to_i, [[:seconds, (self * 3600).to_i]])
46 end
47 alias :hour :hours
48
49 def minutes
50 ActiveSupport::Duration.new((self * 60).to_i, [[:seconds, (self * 60).to_i]])
51 end
52 alias :minute :minutes
53end