summaryrefslogtreecommitdiff
path: root/config/initializers/activesupport_duration_patch.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
commit9a19a0494ef51cdac9a78e24d517ca48ba44c453 (patch)
tree8eaae12d8047a40e29d3ea7ff3116b5c869e04bd /config/initializers/activesupport_duration_patch.rb
parent85a01e35274b8d4d4165a7b26bd7986e211246bb (diff)
parent1853082fcd8c067390c246f9daa01a9b47387497 (diff)
Migration from Rails 2.3.5 to Rails 8.1 successful.
Merging dev branch.
Diffstat (limited to 'config/initializers/activesupport_duration_patch.rb')
-rw-r--r--config/initializers/activesupport_duration_patch.rb53
1 files changed, 53 insertions, 0 deletions
diff --git a/config/initializers/activesupport_duration_patch.rb b/config/initializers/activesupport_duration_patch.rb
new file mode 100644
index 0000000..c2b431d
--- /dev/null
+++ b/config/initializers/activesupport_duration_patch.rb
@@ -0,0 +1,53 @@
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