Module: DbSchema::Definitions::Field
- Defined in:
- lib/db_schema/definitions/field.rb,
lib/db_schema/definitions/field/base.rb,
lib/db_schema/definitions/field/json.rb,
lib/db_schema/definitions/field/uuid.rb,
lib/db_schema/definitions/field/array.rb,
lib/db_schema/definitions/field/range.rb,
lib/db_schema/definitions/field/binary.rb,
lib/db_schema/definitions/field/custom.rb,
lib/db_schema/definitions/field/boolean.rb,
lib/db_schema/definitions/field/network.rb,
lib/db_schema/definitions/field/numeric.rb,
lib/db_schema/definitions/field/datetime.rb,
lib/db_schema/definitions/field/monetary.rb,
lib/db_schema/definitions/field/character.rb,
lib/db_schema/definitions/field/geometric.rb,
lib/db_schema/definitions/field/bit_string.rb,
lib/db_schema/definitions/field/text_search.rb,
lib/db_schema/definitions/field/extensions/isn.rb,
lib/db_schema/definitions/field/extensions/seg.rb,
lib/db_schema/definitions/field/extensions/cube.rb,
lib/db_schema/definitions/field/extensions/ltree.rb,
lib/db_schema/definitions/field/extensions/citext.rb,
lib/db_schema/definitions/field/extensions/hstore.rb,
lib/db_schema/definitions/field/extensions/chkpass.rb
Defined Under Namespace
Classes: Array, Base, BigInt, Bit, Boolean, Box, Bytea, Char, Chkpass, Cidr, Circle, Citext, Cube, Custom, Date, DateRange, DoublePrecision, EAN13, Hstore, ISBN, ISBN13, ISMN, ISMN13, ISSN, ISSN13, Inet, Int4Range, Int8Range, Integer, Interval, JSON, JSONB, Line, Lseg, Ltree, MacAddr, Money, NumRange, Numeric, Path, Point, Polygon, Real, Seg, SmallInt, Text, Time, Timestamp, Timestamptz, Timetz, TsQuery, TsRange, TsTzRange, TsVector, UPC, UUID, Varbit, Varchar
Class Method Summary
collapse
Class Method Details
.build(name, type, **options) ⇒ Object
5
6
7
|
# File 'lib/db_schema/definitions/field.rb', line 5
def build(name, type, **options)
type_class_for(type).new(name, **options)
end
|
.registry ⇒ Object
15
16
17
|
# File 'lib/db_schema/definitions/field.rb', line 15
def registry
@registry ||= {}
end
|
.type_class_for(type) ⇒ Object
9
10
11
12
13
|
# File 'lib/db_schema/definitions/field.rb', line 9
def type_class_for(type)
registry.fetch(type) do |type|
Custom.class_for(type)
end
end
|