NAME
Jifty::DBI::Column - Encapsulates a single column in a Jifty::DBI::Record table
DESCRIPTION
This class encapsulates a single column in a Jifty::DBI::Record table description. It replaces the _accessible method in Jifty::DBI::Record.
It has the following accessors: name type default validator boolean refers_to readable writable length.
new
is_numeric
Returns true if the column is of some numeric type, otherwise returns false.
is_string
Returns true if this column is a text field
is_boolean
Returns true if this column is a boolean
serialize_metadata
Returns a hash describing this column object with enough detail to fully describe it in the database. Intentionally skips record_class, all column attributes starting with _, and all column attributes which are undefined. The "known" attributes in the attributes hash are flattened and returned as well. The list of known attributes are:
- container
- label hints render_as
- display_length
- valid_values
- available_values
- autocompleted
- documentation
- no_placeholder
-
Setting this to a true value causes "load_by_cols" in Jifty::DBI::record to not use a placeholder when loading the column. This can allow the database to come up with better query plans in some cases.
serialize_metadata2
Returns a hash describing this column object with enough detail to fully describe it in the database. Intentionally skips record_class, all column attributes starting with _, and all column attributes which are undefined.
validator
Gets/sets the validator coderef for the column.
read
DEPRECATED. Use $column->readable instead.
write
DEPRECATED. Use $column->writable instead.
length
DEPRECATED. Use $column->max_length instead.
until
DEPRECATED. Use $column->till instead.
active
Returns the a true value if the column method exists for the current application version. The current application version is determined by checking the "schema_version" in Jifty::DBI::Record of the column's "record_class". This method returns a false value if the column is not yet been added or has been dropped.
This method returns a false value under these circumstances:
Both the
sincetrait andschema_versionmethod are defined andschema_versionis less than the version set onsince.Both the
tilltrait andschema_versionmethod are defined andschema_versionis greater than or equal to the version set ontill.
Otherwise, this method returns true.