123456789_123456789_123456789_123456789_123456789_

Class: ActiveRecord::ConnectionAdapters::SQLite3::Column

Do not use. This class is for internal use only.
Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveRecord::ConnectionAdapters::Column
Defined in: activerecord/lib/active_record/connection_adapters/sqlite3/column.rb

Class Method Summary

::ActiveRecord::ConnectionAdapters::Column - Inherited

.new

Instantiates a new column in the table.

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(auto_increment: nil, rowid: false) ⇒ Column

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 9

def initialize(*, auto_increment: nil, rowid: false, **)
  super
  @auto_increment = auto_increment
  @rowid = rowid
end

Instance Attribute Details

#auto_increment?Boolean (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 15

def auto_increment?
  @auto_increment
end

#auto_incremented_by_db?Boolean (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 19

def auto_incremented_by_db?
  auto_increment? || rowid
end

#rowid (readonly)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 7

attr_reader :rowid

Instance Method Details

#==(other) Also known as: #eql?

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 33

def ==(other)
  other.is_a?(Column) &&
    super &&
    auto_increment? == other.auto_increment?
end

#encode_with(coder)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 28

def encode_with(coder)
  coder["auto_increment"] = @auto_increment
  super
end

#eql?(other)

Alias for #==.

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 38

alias :eql? :==

#hash

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 40

def hash
  Column.hash ^
    super.hash ^
    auto_increment?.hash ^
    rowid.hash
end

#init_with(coder)

[ GitHub ]

  
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 23

def init_with(coder)
  @auto_increment = coder["auto_increment"]
  super
end