method
type_cast_for_database
v4.2.9 -
Show latest stable
-
0 notes -
Class: DateTime
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
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