class ActiveRecord::ConnectionAdapters::SQLServer::Type::DateTime
Public Instance Methods
_formatted(value)
click to toggle source
Currently only called by our custom Time
type for formatting
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 26 def _formatted(value) "#{value.to_s(:_sqlserver_datetime)}.#{quote_fractional(value)}" end
deserialize(value)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 39 def deserialize(value) value.is_a?(Data) ? super(value.value) : super end
quoted(value)
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 47 def quoted(value) Utils.quote_string_single(value) end
serialize(value)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 13 def serialize(value) value = super return value unless value.acts_like?(:time) datetime = value.to_s(:_sqlserver_datetime).tap do |v| fraction = quote_fractional(value) v << ".#{fraction}" end Data.new datetime, self end
sqlserver_type()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 9 def sqlserver_type 'datetime'.freeze end
type_cast_for_schema(value)
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 43 def type_cast_for_schema(value) serialize(value).quoted end
Private Instance Methods
fast_string_to_time(string)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 53 def fast_string_to_time(string) time = ActiveSupport::TimeZone['UTC'].strptime(string, fast_string_to_time_format) new_time(time.year, time.month, time.day, time.hour, time.min, time.sec, Rational(time.nsec, 1_000)) rescue ArgumentError super end
fast_string_to_time_format()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/datetime.rb, line 61 def fast_string_to_time_format "#{::Time::DATE_FORMATS[:_sqlserver_datetime]}.%N".freeze end