Class: ActiveRecord::ConnectionAdapters::SQLiteColumn

Inherits:
Column
  • Object
show all
Defined in:
lib/active_record/connection_adapters/sqlite_adapter.rb

Overview

:nodoc:

Constant Summary

Constants inherited from Column

Column::FALSE_VALUES, Column::TRUE_VALUES

Instance Attribute Summary

Attributes inherited from Column

#coder, #default, #limit, #name, #null, #precision, #primary, #scale, #sql_type, #type

Class Method Summary collapse

Methods inherited from Column

#extract_default, #has_default?, #human_name, #initialize, #klass, #number?, #string_to_binary, string_to_date, string_to_dummy_time, string_to_time, #text?, #type_cast, #type_cast_code, value_to_boolean, value_to_decimal

Constructor Details

This class inherits a constructor from ActiveRecord::ConnectionAdapters::Column

Class Method Details

.binary_to_string(value) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 20

def binary_to_string(value)
  if value.respond_to?(:force_encoding) && value.encoding != Encoding::ASCII_8BIT
    value = value.force_encoding(Encoding::ASCII_8BIT)
  end

  value.gsub(/%00|%25/n) do |b|
    case b
      when "%00" then "\0"
      when "%25" then "%"
    end
  end
end

.string_to_binary(value) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/active_record/connection_adapters/sqlite_adapter.rb', line 11

def string_to_binary(value)
  value.gsub(/\0|\%/n) do |b|
    case b
      when "\0" then "%00"
      when "%"  then "%25"
    end
  end
end