Class: ActiveRecord::ConnectionAdapters::ColumnDefinition

Inherits:
Struct
  • Object
show all
Defined in:
lib/active_record/connection_adapters/abstract/schema_definitions.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#baseObject

Returns the value of attribute base

Returns:

  • (Object)

    the current value of base



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def base
  @base
end

#defaultObject

Returns the value of attribute default

Returns:

  • (Object)

    the current value of default



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def default
  @default
end

#limitObject

Returns the value of attribute limit

Returns:

  • (Object)

    the current value of limit



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def limit
  @limit
end

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def name
  @name
end

#nullObject

Returns the value of attribute null

Returns:

  • (Object)

    the current value of null



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def null
  @null
end

#precisionObject

Returns the value of attribute precision

Returns:

  • (Object)

    the current value of precision



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def precision
  @precision
end

#scaleObject

Returns the value of attribute scale

Returns:

  • (Object)

    the current value of scale



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def scale
  @scale
end

#typeObject

Returns the value of attribute type

Returns:

  • (Object)

    the current value of type



252
253
254
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 252

def type
  @type
end

Instance Method Details

#sql_typeObject



254
255
256
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 254

def sql_type
  base.type_to_sql(type.to_sym, limit, precision, scale) rescue type
end

#to_sqlObject Also known as: to_s



258
259
260
261
262
263
264
265
# File 'lib/active_record/connection_adapters/abstract/schema_definitions.rb', line 258

def to_sql
  column_sql = "#{base.quote_column_name(name)} #{sql_type}"
  column_options = {}
  column_options[:null] = null unless null.nil?
  column_options[:default] = default unless default.nil?
  add_column_options!(column_sql, column_options) unless type.to_sym == :primary_key
  column_sql
end