Class: PgGraph::Type::Column

Inherits:
Field
  • Object
show all
Includes:
TableObject
Defined in:
lib/pg_graph/type/type.rb,
lib/pg_graph/type/dump_type.rb

Overview

A field in a RecordType

Direct Known Subclasses

RecordColumn, SimpleColumn, TableColumn

Instance Attribute Summary collapse

Attributes inherited from Field

#type

Instance Method Summary collapse

Methods included from TableObject

#table, #table_type

Methods inherited from Field

#identifier, #schema_identifier

Methods inherited from Node

#guid, #identifier, #inspect, #inspect_inner, #schema_identifier

Instance Attribute Details

#postgres_columnObject (readonly)

nil for TableColumn and SubRecordColumn objects



436
437
438
# File 'lib/pg_graph/type/type.rb', line 436

def postgres_column
  @postgres_column
end

Instance Method Details

#dump(link_info: false) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/pg_graph/type/dump_type.rb', line 29

def dump(link_info: false)
  print "#{identifier}: "
  method = type.schema == record_type.schema ? :identifier : :schema_identifier
  if self.is_a?(MmTableColumn) && !self.is_a?(NmTableColumn)
    type_identifier = "{[#{type.element_type.send(method)}]}"
  else
    type_identifier = type.send(method)
  end
  print type_identifier
  print "()" if generated?
  print "[#{that_link_column}]" if kind?
  print "?" if nullable?
  print "!" if unique?
  dump_type if link_info
  puts
end

#dump_typeObject



46
# File 'lib/pg_graph/type/dump_type.rb', line 46

def dump_type() end

#generated?Boolean

Return true/false or nil

Returns:

  • (Boolean)


455
# File 'lib/pg_graph/type/type.rb', line 455

def generated?() @postgres_column && @generated end

#identity?Boolean

Return true/false or nil if postgres_column is an identity column. Sub-keys are primary keys but not identity keys

Returns:

  • (Boolean)


443
# File 'lib/pg_graph/type/type.rb', line 443

def identity?() @postgres_column && @identity end

#kind?Boolean

True if column is a kind reference

Returns:

  • (Boolean)


461
# File 'lib/pg_graph/type/type.rb', line 461

def kind?() @postgres_column && @kind end

#nullable?Boolean

Return true/false or nil

Returns:

  • (Boolean)


446
# File 'lib/pg_graph/type/type.rb', line 446

def nullable?() @postgres_column && @nullable end

#primary_key?Boolean

Return true/false or nil if postgres_column is nil

Returns:

  • (Boolean)


439
# File 'lib/pg_graph/type/type.rb', line 439

def primary_key?() @postgres_column && @primary_key end

#readonly?Boolean

Return true/false or nil

Returns:

  • (Boolean)


452
# File 'lib/pg_graph/type/type.rb', line 452

def readonly?() @postgres_column && @readonly end

#reference?Boolean

True if column is a reference

Returns:

  • (Boolean)


458
# File 'lib/pg_graph/type/type.rb', line 458

def reference?() @postgres_column && @reference end

#unique?Boolean

Return true/false or nil

Returns:

  • (Boolean)


449
# File 'lib/pg_graph/type/type.rb', line 449

def unique?() @postgres_column && @unique end