Method: ActiveRecord::ConnectionAdapters::PostgreSQL::Quoting#quote

Defined in:
lib/active_record/connection_adapters/postgresql/quoting.rb

#quote(value) ⇒ Object

:nodoc:



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/active_record/connection_adapters/postgresql/quoting.rb', line 44

def quote(value) # :nodoc:
  if ActiveRecord.raise_int_wider_than_64bit && value.is_a?(Integer)
    check_int_in_range(value)
  end

  case value
  when OID::Xml::Data
    "xml '#{quote_string(value.to_s)}'"
  when OID::Bit::Data
    if value.binary?
      "B'#{value}'"
    elsif value.hex?
      "X'#{value}'"
    end
  when Numeric
    if value.finite?
      super
    else
      "'#{value}'"
    end
  when OID::Array::Data
    quote(encode_array(value))
  when Range
    quote(encode_range(value))
  else
    super
  end
end