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