class DbSchema::Definitions::Schema

Attributes

enums[R]
extensions[R]
tables[RW]

Public Class Methods

new(tables: [], enums: [], extensions: []) click to toggle source
# File lib/db_schema/definitions/schema.rb, line 8
def initialize(tables: [], enums: [], extensions: [])
  @tables     = tables
  @enums      = enums
  @extensions = extensions
end

Public Instance Methods

[](table_name)
Alias for: table
enum(enum_name) click to toggle source
# File lib/db_schema/definitions/schema.rb, line 23
def enum(enum_name)
  enums.find { |enum| enum.name == enum_name } || NullEnum.new
end
has_enum?(enum_name) click to toggle source
# File lib/db_schema/definitions/schema.rb, line 27
def has_enum?(enum_name)
  !enum(enum_name).is_a?(NullEnum)
end
has_extension?(extension_name) click to toggle source
# File lib/db_schema/definitions/schema.rb, line 31
def has_extension?(extension_name)
  extensions.any? { |extension| extension.name == extension_name }
end
has_table?(table_name) click to toggle source
# File lib/db_schema/definitions/schema.rb, line 19
def has_table?(table_name)
  !table(table_name).is_a?(NullTable)
end
table(table_name) click to toggle source
# File lib/db_schema/definitions/schema.rb, line 14
def table(table_name)
  tables.find { |table| table.name == table_name } || NullTable.new
end
Also aliased as: []