class ActiveRecord::ConnectionAdapters::SQLServer::Type::DateTime

Public Instance Methods

type_cast_for_database(value) click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 9
def type_cast_for_database(value)
  return super unless value.acts_like?(:time)
  value = zone_conversion(value)
  datetime = value.to_s(:_sqlserver_datetime)
  "#{datetime}".tap do |v|
    fraction = quote_fractional(value)
    v << ".#{fraction}" unless fraction.to_i.zero?
  end
end
type_cast_for_schema(value) click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 19
def type_cast_for_schema(value)
  type_cast_for_database(value).inspect
end

Private Instance Methods

cast_value(value) click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 26
def cast_value(value)
  value = value.acts_like?(:time) ? value : super
  return unless value
  cast_fractional(value)
end
zone_conversion(value) click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 32
def zone_conversion(value)
  method = ActiveRecord::Base.default_timezone == :utc ? :getutc : :getlocal
  value.respond_to?(method) ? value.send(method) : value
end