Sha256: 327d36b32f4e625b09063273e775256494f5f9fb7987c98bfc1565947f95fac4
Contents?: true
Size: 816 Bytes
Versions: 12
Compression:
Stored size: 816 Bytes
Contents
class Person < ActiveRecord::Base has_many :authorships, foreign_key: :author_id, dependent: :destroy has_many :books, through: :authorships has_paper_trail # Convert strings to TimeZone objects when assigned def time_zone=(value) if value.is_a? ActiveSupport::TimeZone super else zone = ::Time.find_zone(value) # nil if can't find time zone super zone end end # Store TimeZone objects as strings when serialized to database class TimeZoneSerializer class << self def dump(zone) zone.try(:name) end def load(value) ::Time.find_zone(value) end end def dump(zone) self.class.dump(zone) end def load(value) self.class.load(value) end end serialize :time_zone, TimeZoneSerializer.new end
Version data entries
12 entries across 12 versions & 2 rubygems