Class: DayTimeMinutes

Inherits:
Object
  • Object
show all
Includes:
DayTimeBase
Defined in:
app/services/day_time_minutes.rb

Overview

Helper class for time of day storage in database as integer value

Instance Attribute Summary

Attributes included from DayTimeBase

#number

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DayTimeBase

#coerce, #compare_operation, #initialize, #inspect, #quoted_id

Class Method Details

.string_to_number(string) ⇒ Object



24
25
26
27
28
# File 'app/services/day_time_minutes.rb', line 24

def string_to_number(string)
  return nil unless string.present?
  hours, minutes = string.split(':')
  hours.to_i * 60 + minutes.to_i
end

Instance Method Details

#hoursObject



19
20
21
# File 'app/services/day_time_minutes.rb', line 19

def hours
  number.to_f / 60.0
end

#minutesObject



15
16
17
# File 'app/services/day_time_minutes.rb', line 15

def minutes
  number.to_i
end

#secondsObject



11
12
13
# File 'app/services/day_time_minutes.rb', line 11

def seconds
  number.to_i * 60
end

#to_sObject



5
6
7
8
9
# File 'app/services/day_time_minutes.rb', line 5

def to_s
  return '' unless number
  hours, minutes_part = number.divmod(60)
  [hours, minutes_part.round].map{|v| v.to_s.rjust(2, '0')}.join(':')
end