Class: HasDuration::DurationSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/has_duration.rb

Overview

Note:

Although this method is available to you, you should use ActiveRecordExtension::has_duration which also adds validation.

The DurationSerializer is a custom ActiveRecord serializer that stores durations in a text field in your model.

Class Method Summary collapse

Class Method Details

.dump(duration) ⇒ Object



23
24
25
# File 'lib/has_duration.rb', line 23

def self.dump(duration)
  duration.inspect.gsub(' ','.') if duration.is_a?(ActiveSupport::Duration)
end

.load(duration) ⇒ Object



27
28
29
30
31
32
# File 'lib/has_duration.rb', line 27

def self.load(duration)
  return if duration.nil?
  if duration =~ /^(\d{0,10})\.(year|month|week|day|hour|minute|second)s?$/
    $1.to_i.send($2)
  end
end