Module: ActiveRecord::ConnectionAdapters::SQLServer::Quoting

Included in:
ActiveRecord::ConnectionAdapters::SQLServerAdapter
Defined in:
lib/active_record/connection_adapters/sqlserver/quoting.rb

Constant Summary collapse

QUOTED_TRUE =
'1'
QUOTED_FALSE =
'0'
QUOTED_STRING_PREFIX =
'N'

Instance Method Summary collapse

Instance Method Details

#quote_column_name(name) ⇒ Object



14
15
16
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 14

def quote_column_name(name)
  SQLServer::Utils.extract_identifiers(name).quoted
end

#quote_default_value(value, column) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 18

def quote_default_value(value, column)
  if column.type == :uuid && value =~ /\(\)/
    value
  else
    quote(value, column)
  end
end

#quote_string(s) ⇒ Object



10
11
12
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 10

def quote_string(s)
  SQLServer::Utils.quote_string(s)
end

#quoted_date(value) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 42

def quoted_date(value)
  SQLServer::Utils.with_sqlserver_db_date_formats do
    if value.acts_like?(:time) && value.respond_to?(:usec)
      precision = (BigDecimal(value.usec.to_s) / 1_000_000).round(3).to_s.split('.').last
      "#{super}.#{precision}"
    elsif value.acts_like?(:date)
      value.to_s(:_sqlserver_dateformat)
    else
      super
    end
  end
end

#quoted_falseObject



34
35
36
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 34

def quoted_false
  QUOTED_FALSE
end

#quoted_trueObject



26
27
28
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 26

def quoted_true
  QUOTED_TRUE
end

#unquoted_falseObject



38
39
40
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 38

def unquoted_false
  0
end

#unquoted_trueObject



30
31
32
# File 'lib/active_record/connection_adapters/sqlserver/quoting.rb', line 30

def unquoted_true
  1
end