From 7fb2a637086ae5e4cb8d06582ed7d9b29a6a4f58 Mon Sep 17 00:00:00 2001 From: Andrew White Date: Sat, 23 Apr 2016 17:15:26 +0100 Subject: Add Time#sec_fraction Mirrors the DateTime#sec_fraction method by returning the fraction of the second as a Rational. --- activesupport/lib/active_support/core_ext/time/calculations.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'activesupport/lib/active_support/core_ext') diff --git a/activesupport/lib/active_support/core_ext/time/calculations.rb b/activesupport/lib/active_support/core_ext/time/calculations.rb index 768c9a1b2c..9c019e10b5 100644 --- a/activesupport/lib/active_support/core_ext/time/calculations.rb +++ b/activesupport/lib/active_support/core_ext/time/calculations.rb @@ -73,6 +73,13 @@ class Time end_of_day.to_i - to_i end + # Returns the fraction of a second as a +Rational+ + # + # Time.new(2012, 8, 29, 0, 0, 0.5).sec_fraction # => (1/2) + def sec_fraction + Rational(nsec, 1000000000) + end + # Returns a new Time where one or more of the elements have been changed according # to the +options+ parameter. The time options (:hour, :min, # :sec, :usec, :nsec) reset cascadingly, so if only -- cgit v1.2.3