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.
139 140 141 142 143 144 145 |
# File 'lib/unmagic/enum/active_record_extensions.rb', line 139 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 |