Class: RDBr::Metadata::Column

Inherits:
Data
  • Object
show all
Defined in:
lib/rdbr/metadata/column.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, logical_type: nil, sql_type: nil, nullable: true, default: nil, generated_expression: nil, identity: nil, ordinal: nil) ⇒ Column

Returns a new instance of Column.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rdbr/metadata/column.rb', line 13

def initialize(
  name:,
  logical_type: nil,
  sql_type: nil,
  nullable: true,
  default: nil,
  generated_expression: nil,
  identity: nil,
  ordinal: nil
)
  super(
    name: Values.name(name, field: 'column name'),
    logical_type: Values.deep_copy_freeze(logical_type),
    sql_type: Values.optional_name(sql_type, field: 'SQL type'),
    nullable: Values.boolean(nullable, field: 'nullable'),
    default: Values.deep_copy_freeze(default),
    generated_expression: Values.optional_name(generated_expression, field: 'generated expression'),
    identity: Values.deep_copy_freeze(identity),
    ordinal: ordinal
  )
end

Instance Attribute Details

#defaultObject (readonly)

Returns the value of attribute default

Returns:

  • (Object)

    the current value of default



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def default
  @default
end

#generated_expressionObject (readonly)

Returns the value of attribute generated_expression

Returns:

  • (Object)

    the current value of generated_expression



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def generated_expression
  @generated_expression
end

#identityObject (readonly)

Returns the value of attribute identity

Returns:

  • (Object)

    the current value of identity



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def identity
  @identity
end

#logical_typeObject (readonly)

Returns the value of attribute logical_type

Returns:

  • (Object)

    the current value of logical_type



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def logical_type
  @logical_type
end

#nameObject (readonly)

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def name
  @name
end

#nullableObject (readonly)

Returns the value of attribute nullable

Returns:

  • (Object)

    the current value of nullable



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def nullable
  @nullable
end

#ordinalObject (readonly)

Returns the value of attribute ordinal

Returns:

  • (Object)

    the current value of ordinal



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def ordinal
  @ordinal
end

#sql_typeObject (readonly)

Returns the value of attribute sql_type

Returns:

  • (Object)

    the current value of sql_type



3
4
5
# File 'lib/rdbr/metadata/column.rb', line 3

def sql_type
  @sql_type
end

Instance Method Details

#generated?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/rdbr/metadata/column.rb', line 35

def generated?
  !generated_expression.nil?
end

#identity?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rdbr/metadata/column.rb', line 39

def identity?
  !identity.nil? && identity != false
end