class ActiveRecord::ConnectionAdapters::SQLServer::Type::Time

Public Instance Methods

deserialize(value) click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 19
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 31
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 10
def serialize(value)
  value = super
  return value unless value.acts_like?(:time)

  time = "#{value.to_formatted_s(:_sqlserver_time)}.#{quote_fractional(value)}"

  Data.new time, self
end
sqlserver_type() click to toggle source
# File lib/active_record/connection_adapters/sqlserver/type/time.rb, line 27
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 23
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 37
def cast_value(value)
  value = super

  return value unless value.is_a?(::Time)

  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 46
def fractional_scale
  precision
end