Class: DbSchema::Definitions::Schema

Inherits:
Object
  • Object
show all
Defined in:
lib/db_schema/definitions/schema.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tables: [], enums: [], extensions: []) ⇒ Schema

Returns a new instance of Schema.



8
9
10
11
12
# File 'lib/db_schema/definitions/schema.rb', line 8

def initialize(tables: [], enums: [], extensions: [])
  @tables     = tables
  @enums      = enums
  @extensions = extensions
end

Instance Attribute Details

#enumsObject (readonly)

Returns the value of attribute enums.



5
6
7
# File 'lib/db_schema/definitions/schema.rb', line 5

def enums
  @enums
end

#extensionsObject (readonly)

Returns the value of attribute extensions.



5
6
7
# File 'lib/db_schema/definitions/schema.rb', line 5

def extensions
  @extensions
end

#tablesObject

Returns the value of attribute tables.



5
6
7
# File 'lib/db_schema/definitions/schema.rb', line 5

def tables
  @tables
end

Instance Method Details

#enum(enum_name) ⇒ Object



23
24
25
# 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) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# 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) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# 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) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/db_schema/definitions/schema.rb', line 19

def has_table?(table_name)
  !table(table_name).is_a?(NullTable)
end

#table(table_name) ⇒ Object Also known as: []



14
15
16
# File 'lib/db_schema/definitions/schema.rb', line 14

def table(table_name)
  tables.find { |table| table.name == table_name } || NullTable.new
end