Class: ActiveRecord::ConnectionAdapters::SQLServer::Type::DateTime

Inherits:
Type::DateTime
  • Object
show all
Includes:
TimeValueFractional
Defined in:
lib/active_record/connection_adapters/sqlserver/type/datetime.rb

Direct Known Subclasses

DateTime2, SmallDateTime

Instance Method Summary collapse

Instance Method Details

#deserialize(value) ⇒ Object



23
24
25
# File 'lib/active_record/connection_adapters/sqlserver/type/datetime.rb', line 23

def deserialize(value)
  value.is_a?(Data) ? super(value.value) : super
end

#quoted(value) ⇒ Object



31
32
33
# File 'lib/active_record/connection_adapters/sqlserver/type/datetime.rb', line 31

def quoted(value)
  Utils.quote_string_single(value)
end

#serialize(value) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/active_record/connection_adapters/sqlserver/type/datetime.rb', line 14

def serialize(value)
  value = super
  return value unless value.acts_like?(:time)

  datetime = "#{value.to_formatted_s(:_sqlserver_datetime)}.#{quote_fractional(value)}"

  Data.new datetime, self
end

#sqlserver_typeObject



10
11
12
# File 'lib/active_record/connection_adapters/sqlserver/type/datetime.rb', line 10

def sqlserver_type
  "datetime"
end

#type_cast_for_schema(value) ⇒ Object



27
28
29
# File 'lib/active_record/connection_adapters/sqlserver/type/datetime.rb', line 27

def type_cast_for_schema(value)
  serialize(value).quoted
end