Class: PgEnum::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

Inherits:
AbstractAdapter
  • Object
show all
Defined in:
lib/pg_enum/active_record.rb

Instance Method Summary collapse

Instance Method Details

#type_to_sql(type, limit = nil, precision = nil, scale = nil) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/pg_enum/active_record.rb', line 70

def type_to_sql(type, limit = nil, precision = nil, scale = nil)
  return 'string' if type.to_s == 'enumerable2'
  return super unless type.to_s == 'integer'
  return 'integer' unless limit

  case limit
    when 1, 2; 'smallint'
    when 3, 4; 'integer'
    when 5..8; 'bigint'
    else raise(ActiveRecordError, "No integer type has byte size #{limit}. Use a numeric with precision 0 instead.")
  end
end