Class: PgGraph::Type::Column
- 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
Instance Attribute Summary collapse
-
#postgres_column ⇒ Object
readonly
nil for TableColumn and SubRecordColumn objects.
Attributes inherited from Field
Instance Method Summary collapse
- #dump(link_info: false) ⇒ Object
- #dump_type ⇒ Object
-
#generated? ⇒ Boolean
Return true/false or nil.
-
#identity? ⇒ Boolean
Return true/false or nil if postgres_column is an identity column.
-
#kind? ⇒ Boolean
True if column is a kind reference.
-
#nullable? ⇒ Boolean
Return true/false or nil.
-
#primary_key? ⇒ Boolean
Return true/false or nil if postgres_column is nil.
-
#readonly? ⇒ Boolean
Return true/false or nil.
-
#reference? ⇒ Boolean
True if column is a reference.
-
#unique? ⇒ Boolean
Return true/false or nil.
Methods included from TableObject
Methods inherited from Field
#identifier, #schema_identifier
Methods inherited from Node
#guid, #identifier, #inspect, #inspect_inner, #schema_identifier
Instance Attribute Details
#postgres_column ⇒ Object (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_type ⇒ Object
46 |
# File 'lib/pg_graph/type/dump_type.rb', line 46 def dump_type() end |
#generated? ⇒ Boolean
Return true/false or nil
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
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
461 |
# File 'lib/pg_graph/type/type.rb', line 461 def kind?() @postgres_column && @kind end |
#nullable? ⇒ Boolean
Return true/false or nil
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
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
452 |
# File 'lib/pg_graph/type/type.rb', line 452 def readonly?() @postgres_column && @readonly end |
#reference? ⇒ Boolean
True if column is a reference
458 |
# File 'lib/pg_graph/type/type.rb', line 458 def reference?() @postgres_column && @reference end |
#unique? ⇒ Boolean
Return true/false or nil
449 |
# File 'lib/pg_graph/type/type.rb', line 449 def unique?() @postgres_column && @unique end |