Class: RoadToElDuration::DurationCoder
- Inherits:
-
Object
- Object
- RoadToElDuration::DurationCoder
- Defined in:
- lib/road_to_el_duration/duration_coder.rb
Class Method Summary collapse
Class Method Details
.convert_parts(duration_parts) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/road_to_el_duration/duration_coder.rb', line 12 def self.convert_parts(duration_parts) new_duration_parts = { hours: duration_parts.delete(:hours) || 0, minutes: duration_parts.delete(:minutes) || 0 } duration_parts.delete(:seconds) # Take remaining parts (parts larger than hours) and convert to hours duration_parts.each do |name, value| new_duration_parts[:hours] += value.send(name).in_hours.to_i end new_duration_parts end |
.dump(value) ⇒ Object
3 4 5 |
# File 'lib/road_to_el_duration/duration_coder.rb', line 3 def self.dump(value) value.to_i end |
.load(value) ⇒ Object
7 8 9 10 |
# File 'lib/road_to_el_duration/duration_coder.rb', line 7 def self.load(value) initial_duration = ActiveSupport::Duration.build(value || 0) ActiveSupport::Duration.new(initial_duration.to_i, convert_parts(initial_duration.parts)) end |