123456789_123456789_123456789_123456789_123456789_

Module: ActiveRecord::ConnectionAdapters::SQLite3::Quoting

Do not use. This module is for internal use only.
Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb

Constant Summary

Instance Method Summary

Instance Method Details

#column_name_matcher

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 79

def column_name_matcher
  COLUMN_NAME
end

#column_name_with_order_matcher

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 83

def column_name_with_order_matcher
  COLUMN_NAME_WITH_ORDER
end

#quote_column_name(name)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 22

def quote_column_name(name)
  QUOTED_COLUMN_NAMES[name] ||= %Q("#{super.gsub('"', '""')}")
end

#quote_default_expression(value, column)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 51

def quote_default_expression(value, column) # :nodoc:
  if value.is_a?(Proc)
    value = value.call
    if value.match?(/\A\w+\(.*\)\z/)
      "(#{value})"
    else
      value
    end
  else
    super
  end
end

#quote_string(s)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 10

def quote_string(s)
  ::SQLite3::Database.quote(s)
end

#quote_table_name(name)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 18

def quote_table_name(name)
  QUOTED_TABLE_NAMES[name] ||= super.gsub(".", "\".\"").freeze
end

#quote_table_name_for_assignment(table, attr)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 14

def quote_table_name_for_assignment(table, attr)
  quote_column_name(attr)
end

#quoted_binary(value)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 31

def quoted_binary(value)
  "x'#{value.hex}'"
end

#quoted_false

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 43

def quoted_false
  "0"
end

#quoted_time(value)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 26

def quoted_time(value)
  value = value.change(year: 2000, month: 1, day: 1)
  quoted_date(value).sub(/\A\d\d\d\d-\d\d-\d\d /, "2000-01-01 ")
end

#quoted_true

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 35

def quoted_true
  "1"
end

#type_cast(value)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 64

def type_cast(value) # :nodoc:
  case value
  when BigDecimal
    value.to_f
  when String
    if value.encoding == Encoding::ASCII_8BIT
      super(value.encode(Encoding::UTF_8))
    else
      super
    end
  else
    super
  end
end

#unquoted_false

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 47

def unquoted_false
  0
end

#unquoted_true

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb', line 39

def unquoted_true
  1
end