Module: Mkxms::Mssql::SqlStringManipulators

Constant Summary collapse

MSSQL =
XMigra::MSSQLSpecifics

Instance Method Summary collapse

Instance Method Details

#bit_test(expr, expected) ⇒ Object



38
39
40
# File 'lib/mkxms/mssql/sql_string_manipulators.rb', line 38

def bit_test(expr, expected)
  "#{expr} = #{expected ? 1 : 0}"
end

#boolean_desc(_is, s) ⇒ Object



42
43
44
# File 'lib/mkxms/mssql/sql_string_manipulators.rb', line 42

def boolean_desc(_is, s)
  (_is ? '' : 'not ') + s
end

#dedent(s) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/mkxms/mssql/sql_string_manipulators.rb', line 9

def dedent(s)
  margin = nil
  s.lines.map do |l|
    case 
    when margin.nil? && l =~ /^ *$/
      l
    when margin.nil?
      margin = /^ */.match(l)[0].length
      l[margin..-1]
    else
      /^(?: {0,#{margin}})(.*)/m.match(l)[1]
    end
  end.tap do |lines|
    lines.shift if lines.first == "\n"
  end.join('')
end

#stresc(s) ⇒ Object



26
27
28
# File 'lib/mkxms/mssql/sql_string_manipulators.rb', line 26

def stresc(s)
  s.gsub("'", "''")
end

#strlit(s) ⇒ Object



30
31
32
# File 'lib/mkxms/mssql/sql_string_manipulators.rb', line 30

def strlit(s)
  MSSQL.string_literal(s)
end

#unquoted_identifier(s) ⇒ Object



34
35
36
# File 'lib/mkxms/mssql/sql_string_manipulators.rb', line 34

def unquoted_identifier(s)
  MSSQL.strip_identifier_quoting(s)
end