Class: PgMeta::View

Inherits:
Table show all
Defined in:
lib/pg_meta/meta.rb

Direct Known Subclasses

MaterializedView

Instance Attribute Summary collapse

Attributes inherited from Table

#check_constraints, #columns, #constraints, #primary_key_columns, #primary_key_constraints, #referential_constraints, #triggers, #unique_constraints

Attributes inherited from Node

#name, #parent, #root

Instance Method Summary collapse

Methods inherited from Table

#depending_tables, #depending_views, #insertable?, #materialized?, #primary_key_column, #typed?, #view?

Methods inherited from Node

#dump, #dump_value, #guid, #inspect, #to_yaml, #uid

Constructor Details

#initialize(schema, name, is_insertable, is_typed) ⇒ View



273
274
275
276
277
# File 'lib/pg_meta/meta.rb', line 273

def initialize(schema, name, is_insertable, is_typed)
  super
  @defining_relations = []
  @defining_tables = []
end

Instance Attribute Details

#defining_relationsObject (readonly)

List of views and tables used directly in the definition of this view



266
267
268
# File 'lib/pg_meta/meta.rb', line 266

def defining_relations
  @defining_relations
end

#defining_tablesObject (readonly)

List of tables used directly or indirectly in the definition of this view



269
270
271
# File 'lib/pg_meta/meta.rb', line 269

def defining_tables
  @defining_tables
end

Instance Method Details

#table?Boolean



271
# File 'lib/pg_meta/meta.rb', line 271

def table?() false end

#to_hObject



279
280
281
282
283
284
# File 'lib/pg_meta/meta.rb', line 279

def to_h() 
  h = super
  h[:defining_relations] = defining_relations.map(&:uid) 
  h[:defining_tables] = defining_tables.map(&:uid)
  h
end