Module: Unmagic::Enum::ActiveRecordExtensions::ClassMethods
- Defined in:
- lib/unmagic/enum/active_record_extensions.rb
Instance Method Summary collapse
-
#column_type(validate: false, array: false) ⇒ Object
For ActiveRecord attribute type definition.
Instance Method Details
#column_type(validate: false, array: false) ⇒ Object
For ActiveRecord attribute type definition. validate: mirrors
ActiveRecord::Enum (default false = raise eagerly on an unknown value;
true = let model validations handle it). array: true returns a type
for columns holding multiple values of the enum as a JSON array.
Memoised per option set.
144 145 146 147 148 149 150 |
# File 'lib/unmagic/enum/active_record_extensions.rb', line 144 def column_type(validate: false, array: false) (@column_types ||= {})[[validate, array]] ||= if array Unmagic::Enum::ActiveRecordExtensions::ArrayColumnType.new(self, validate: validate) else Unmagic::Enum::ActiveRecordExtensions::ColumnType.new(self, validate: validate) end end |