method
type_cast_for_database
type_cast_for_database(value)
public
Hide source
# File activerecord/lib/active_record/type/date_time.rb, line 10 def type_cast_for_database(value) return super unless value.acts_like?(:time) zone_conversion_method = ActiveRecord::Base.default_timezone == :utc ? :getutc : :getlocal if value.respond_to?(zone_conversion_method) value = value.send(zone_conversion_method) end return value unless has_precision? result = value.to_s(:db) if value.respond_to?(:usec) && (1..6).cover?(precision) "#{result}.#{sprintf("%0#{precision}d", value.usec / 10 ** (6 - precision))}" else result end end