Class: SqlGenius::Core::ColumnDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/sql_genius/core/column_definition.rb

Overview

Column metadata as returned by Core::Connection#columns_for. Mirrors the subset of ActiveRecord::ConnectionAdapters::Column that the analyses and AI services rely on.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, type:, sql_type:, null:, default:, primary_key:) ⇒ ColumnDefinition

Returns a new instance of ColumnDefinition.



11
12
13
14
15
16
17
18
19
# File 'lib/sql_genius/core/column_definition.rb', line 11

def initialize(name:, type:, sql_type:, null:, default:, primary_key:)
  @name = name
  @type = type
  @sql_type = sql_type
  @null = null
  @default = default
  @primary_key = primary_key
  freeze
end

Instance Attribute Details

#defaultObject (readonly)

Returns the value of attribute default.



9
10
11
# File 'lib/sql_genius/core/column_definition.rb', line 9

def default
  @default
end

#nameObject (readonly)

Returns the value of attribute name.



9
10
11
# File 'lib/sql_genius/core/column_definition.rb', line 9

def name
  @name
end

#nullObject (readonly)

Returns the value of attribute null.



9
10
11
# File 'lib/sql_genius/core/column_definition.rb', line 9

def null
  @null
end

#primary_keyObject (readonly)

Returns the value of attribute primary_key.



9
10
11
# File 'lib/sql_genius/core/column_definition.rb', line 9

def primary_key
  @primary_key
end

#sql_typeObject (readonly)

Returns the value of attribute sql_type.



9
10
11
# File 'lib/sql_genius/core/column_definition.rb', line 9

def sql_type
  @sql_type
end

#typeObject (readonly)

Returns the value of attribute type.



9
10
11
# File 'lib/sql_genius/core/column_definition.rb', line 9

def type
  @type
end

Instance Method Details

#null?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/sql_genius/core/column_definition.rb', line 21

def null?
  @null
end

#primary_key?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/sql_genius/core/column_definition.rb', line 25

def primary_key?
  @primary_key
end