class ActiveRecord::ConnectionAdapters::SQLServer::Type::Time
Public Instance Methods
_formatted(value)
click to toggle source
Currently only called from our custom Time
type for formatting
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 22 def _formatted(value) return "#{value.to_s(:_sqlserver_time)}" unless precision "#{value.to_s(:_sqlserver_time)}.#{quote_fractional(value)}" end
deserialize(value)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 36 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/time.rb, line 48 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/time.rb, line 9 def serialize(value) value = super return value unless value.acts_like?(:time) time = value.to_s(:_sqlserver_time).tap do |v| fraction = quote_fractional(value) v << ".#{fraction}" end Data.new time, self end
sqlserver_type()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 44 def sqlserver_type "time(#{precision.to_i})" end
type_cast_for_schema(value)
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 40 def type_cast_for_schema(value) serialize(value).quoted end
Private Instance Methods
cast_value(value)
click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 54 def cast_value(value) value = super return if value.blank? value = value.change year: 2000, month: 01, day: 01 apply_seconds_precision(value) end
fractional_scale()
click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 61 def fractional_scale precision end