Class: ActiveRecord::ConnectionAdapters::SQLServer::Type::Time

Inherits:
Type::Time
  • Object
show all
Defined in:
lib/active_record/connection_adapters/sqlserver/type/time.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Time

Returns a new instance of Time.



9
10
11
12
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 9

def initialize(options = {})
  super
  @precision = nil if @precision == 7
end

Instance Method Details

#quote_ss(value) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 26

def quote_ss(value)
  return unless value
  value = cast_value(value) if value.acts_like?(:string)
  date = value.to_s(:_sqlserver_time)
  frac = quote_usec(value)
  "'#{date}.#{frac}'"
end

#type_cast_for_database(value) ⇒ Object

When FreeTDS/TinyTDS casts this data type natively. include Castable



17
18
19
20
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 17

def type_cast_for_database(value)
  return if value.nil?
  Quoter.new super, self
end

#type_cast_for_schema(value) ⇒ Object



22
23
24
# File 'lib/active_record/connection_adapters/sqlserver/type/time.rb', line 22

def type_cast_for_schema(value)
  value.acts_like?(:string) ? "'#{value}'" : super
end