Class: ActiveRecord::ConnectionAdapters::SQLServer::Column
- Inherits:
-
ConnectionAdapters::Column
- Object
- ConnectionAdapters::Column
- ActiveRecord::ConnectionAdapters::SQLServer::Column
- Defined in:
- lib/active_record/connection_adapters/sqlserver_column.rb
Instance Method Summary collapse
- #==(other) ⇒ Object (also: #eql?)
- #case_sensitive? ⇒ Boolean
- #encode_with(coder) ⇒ Object
- #has_default? ⇒ Boolean
- #hash ⇒ Object
- #init_with(coder) ⇒ Object
-
#initialize(is_identity: nil, is_primary: nil, table_name: nil, ordinal_position: nil, generated_type: nil) ⇒ Column
constructor
A new instance of Column.
- #is_identity? ⇒ Boolean (also: #auto_incremented_by_db?)
- #is_primary? ⇒ Boolean
- #is_utf8? ⇒ Boolean
- #virtual? ⇒ Boolean
- #virtual_stored? ⇒ Boolean
Constructor Details
#initialize(is_identity: nil, is_primary: nil, table_name: nil, ordinal_position: nil, generated_type: nil) ⇒ Column
Returns a new instance of Column.
9 10 11 12 13 14 15 16 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 9 def initialize(*, is_identity: nil, is_primary: nil, table_name: nil, ordinal_position: nil, generated_type: nil, **) super @is_identity = is_identity @is_primary = is_primary @table_name = table_name @ordinal_position = ordinal_position @generated_type = generated_type end |
Instance Method Details
#==(other) ⇒ Object Also known as: eql?
63 64 65 66 67 68 69 70 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 63 def ==(other) other.is_a?(Column) && super && is_identity? == other.is_identity? && is_primary? == other.is_primary? && table_name == other.table_name && ordinal_position == other.ordinal_position end |
#case_sensitive? ⇒ Boolean
31 32 33 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 31 def case_sensitive? collation&.match(/_CS/) end |
#encode_with(coder) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 55 def encode_with(coder) coder["is_identity"] = @is_identity coder["is_primary"] = @is_primary coder["table_name"] = @table_name coder["ordinal_position"] = @ordinal_position super end |
#has_default? ⇒ Boolean
43 44 45 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 43 def has_default? super && !virtual? end |
#hash ⇒ Object
73 74 75 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 73 def hash [Column, super, is_identity?, is_primary?, table_name, ordinal_position].hash end |
#init_with(coder) ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 47 def init_with(coder) @is_identity = coder["is_identity"] @is_primary = coder["is_primary"] @table_name = coder["table_name"] @ordinal_position = coder["ordinal_position"] super end |
#is_identity? ⇒ Boolean Also known as: auto_incremented_by_db?
18 19 20 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 18 def is_identity? is_identity end |
#is_primary? ⇒ Boolean
23 24 25 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 23 def is_primary? is_primary end |
#is_utf8? ⇒ Boolean
27 28 29 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 27 def is_utf8? sql_type =~ /nvarchar|ntext|nchar/i end |
#virtual? ⇒ Boolean
35 36 37 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 35 def virtual? @generated_type.present? end |
#virtual_stored? ⇒ Boolean
39 40 41 |
# File 'lib/active_record/connection_adapters/sqlserver_column.rb', line 39 def virtual_stored? @generated_type == :stored end |