Class: PgMeta::Schema
Instance Attribute Summary collapse
-
#functions ⇒ Object
readonly
Hash of functions.
-
#owner ⇒ Object
readonly
Owner of the schema.
-
#procedures ⇒ Object
readonly
Hash of procedures.
-
#tables ⇒ Object
readonly
Hash of tables and views.
Attributes inherited from Node
Instance Method Summary collapse
-
#hidden=(hide) ⇒ Object
Set hidden property.
-
#hidden? ⇒ Boolean
True if schema is hidden.
-
#initialize(database, name, owner, hidden: false) ⇒ Schema
constructor
A new instance of Schema.
- #to_h ⇒ Object
-
#views ⇒ Object
Hash of views.
Methods inherited from Node
#dump, #dump_value, #guid, #inspect, #to_yaml, #uid
Constructor Details
#initialize(database, name, owner, hidden: false) ⇒ Schema
Returns a new instance of Schema.
127 128 129 130 131 132 133 134 135 |
# File 'lib/pg_meta/meta.rb', line 127 def initialize(database, name, owner, hidden: false) super(database, name) @owner = owner @tables = {} @functions = {} @procedures = {} @hidden = hidden database.schemas[name] = self end |
Instance Attribute Details
#functions ⇒ Object (readonly)
Hash of functions
122 123 124 |
# File 'lib/pg_meta/meta.rb', line 122 def functions @functions end |
#owner ⇒ Object (readonly)
Owner of the schema
113 114 115 |
# File 'lib/pg_meta/meta.rb', line 113 def owner @owner end |
#procedures ⇒ Object (readonly)
Hash of procedures
125 126 127 |
# File 'lib/pg_meta/meta.rb', line 125 def procedures @procedures end |
#tables ⇒ Object (readonly)
Hash of tables and views. TODO: Rename #relations
116 117 118 |
# File 'lib/pg_meta/meta.rb', line 116 def tables @tables end |
Instance Method Details
#hidden=(hide) ⇒ Object
Set hidden property
141 142 143 144 145 146 147 148 |
# File 'lib/pg_meta/meta.rb', line 141 def hidden=(hide) if @hidden database.schemas[name] = database.hidden_schemas.delete(name) if !hide else database.hidden_schemas[name] = database.schemas.delete(name) if hide end @hidden = hide end |
#hidden? ⇒ Boolean
True if schema is hidden. This can be set dynamically
138 |
# File 'lib/pg_meta/meta.rb', line 138 def hidden?() @hidden end |
#to_h ⇒ Object
150 |
# File 'lib/pg_meta/meta.rb', line 150 def to_h() attrs_to_h(:name, :owner, :tables, :views, :functions, :procedures) end |
#views ⇒ Object
Hash of views
119 |
# File 'lib/pg_meta/meta.rb', line 119 def views() @views ||= @tables.select { |_, table| table.view? } end |