Class: ActiveRecord::Enum::EnumType
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Type::Value
|
|
|
Instance Chain:
|
|
| Inherits: |
Type::Value
|
| Defined in: | activerecord/lib/active_record/enum.rb |
Class Method Summary
Instance Attribute Summary
::ActiveRecord::Type::QueryPredicates::Decorator - Included
::ActiveRecord::Type::QueryPredicates - Included
Instance Method Summary
- #assert_valid_value(value)
- #cast(value)
- #deserialize(value)
- #serializable?(value, &block) ⇒ Boolean
- #serialize(value)
::ActiveRecord::Type::QueryPredicates::Decorator - Included
::ActiveRecord::Type::QueryPredicates - Included
| #comparison_expression | Converts a stored attribute or serialized query value into the expression on which comparisons are performed. |
Constructor Details
.new(name, mapping, subtype, raise_on_invalid_values: true) ⇒ EnumType
Instance Attribute Details
#mapping (readonly, private)
[ GitHub ]# File 'activerecord/lib/active_record/enum.rb', line 215
attr_reader :name, :mapping
#name (readonly, private)
[ GitHub ]# File 'activerecord/lib/active_record/enum.rb', line 215
attr_reader :name, :mapping
#subtype (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/enum.rb', line 212
attr_reader :subtype
#type (readonly)
[ GitHub ]# File 'activerecord/lib/active_record/enum.rb', line 173
delegate :type, to: :subtype
Instance Method Details
#assert_valid_value(value)
[ GitHub ]# File 'activerecord/lib/active_record/enum.rb', line 204
def assert_valid_value(value) return unless @_raise_on_invalid_values unless value.blank? || mapping.has_key?(value) || mapping.has_value?(value) raise ArgumentError, "'#{value}' is not a valid #{name}. Valid values are: #{mapping.keys.map(&:inspect).join(", ")}" end end