class ArJdbc::MSSQL::DateTimeType

@private

Public Instance Methods

type_cast_for_schema(value) click to toggle source
# File lib/arjdbc/mssql/types.rb, line 165
def type_cast_for_schema(value)
  value.acts_like?(:string) ? "'#{value}'" : "'#{value.to_s(:db)}'"
end

Private Instance Methods

cast_usec(value) click to toggle source
# File lib/arjdbc/mssql/types.rb, line 177
def cast_usec(value)
  return 0 if !value.respond_to?(:usec) || value.usec.zero?
  seconds = value.usec.to_f / 1_000_000.0
  second_precision = 0.00333
  ss_seconds = ((seconds * (1 / second_precision)).round / (1 / second_precision)).round(3)
  (ss_seconds * 1_000_000).to_i
end
cast_value(value) click to toggle source
Calls superclass method
# File lib/arjdbc/mssql/types.rb, line 171
def cast_value(value)
  value = value.respond_to?(:usec) ? value : super
  return unless value
  value.change usec: cast_usec(value)
end