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
- #auto_increment? ⇒ Boolean readonly
- #auto_incremented_by_db? ⇒ Boolean readonly
- #has_default? ⇒ Boolean readonly
- #rowid readonly
- #virtual? ⇒ Boolean readonly
- #virtual_stored? ⇒ Boolean readonly
::ActiveRecord::ConnectionAdapters::Column - Inherited
| #limit, #precision, #scale, #sql_type, #type, | |
| #auto_incremented_by_db? | whether the column is auto-populated by the database using a sequence. |
| #auto_populated?, #bigint?, #collation, #comment, #default, #default_function, #has_default?, #name, #null, #sql_type_metadata, #virtual?, #cast_type | |
Instance Method Summary
- #==(other) (also: #eql?)
- #encode_with(coder)
-
#eql?(other)
Alias for #==.
- #hash
- #init_with(coder)
::ActiveRecord::ConnectionAdapters::Column - Inherited
| #==, #encode_with, | |
| #eql? | Alias for Column#==. |
| #fetch_cast_type, #hash, | |
| #human_name | Returns the human name of the column name. |
| #init_with, #deduplicated | |
::ActiveRecord::ConnectionAdapters::Deduplicable - Included
| #-@ | Alias for Deduplicable#deduplicate. |
| #deduplicate, #deduplicated | |
Constructor Details
.new(auto_increment: nil, rowid: false, generated_type: nil) ⇒ Column
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 9
def initialize(*, auto_increment: nil, rowid: false, generated_type: nil, **) super @auto_increment = auto_increment @rowid = rowid @generated_type = generated_type end
Instance Attribute Details
#auto_increment? ⇒ Boolean (readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 16
def auto_increment? @auto_increment end
#auto_incremented_by_db? ⇒ Boolean (readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 20
def auto_incremented_by_db? auto_increment? || rowid end
#has_default? ⇒ Boolean (readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 32
def has_default? super && !virtual? end
#rowid (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 7
attr_reader :rowid
#virtual? ⇒ Boolean (readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 24
def virtual? !@generated_type.nil? end
#virtual_stored? ⇒ Boolean (readonly)
[ GitHub ]
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 28
def virtual_stored? virtual? && @generated_type == :stored end
Instance Method Details
#==(other) Also known as: #eql?
[ GitHub ]# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 46
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 41
def encode_with(coder) coder["auto_increment"] = @auto_increment super end
#eql?(other)
Alias for #==.
# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 51
alias :eql? :==
#hash
[ GitHub ]# File 'activerecord/lib/active_record/connection_adapters/sqlite3/column.rb', line 53
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 36
def init_with(coder) @auto_increment = coder["auto_increment"] super end