Class: Virtus::Attribute::Enum
- Inherits:
-
Virtus::Attribute
- Object
- Virtus::Attribute
- Virtus::Attribute::Enum
- Defined in:
- lib/virtus/attribute/enum.rb
Overview
Type to be used inside attributes as enums.
Constant Summary
Constants included from TypeLookup
Class Attribute Summary collapse
Attributes inherited from Virtus::Attribute
#coercer, #default_value, #options, #primitive, #type
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Virtus::Attribute
build, build_coercer, coerce, #coerce, #coercible?, #define_accessor_methods, #finalize, #finalized?, #initialize, #lazy?, merge_options!, #nullify_blank?, #rename, #required?, #strict?
Methods included from TypeLookup
#determine_type, extended, #primitive
Methods included from Options
#accept_options, #accepted_options, #options
Constructor Details
This class inherits a constructor from Virtus::Attribute
Class Attribute Details
.values ⇒ Object
13 14 15 |
# File 'lib/virtus/attribute/enum.rb', line 13 def values @values end |
Class Method Details
.[](*values) ⇒ Object
16 17 18 19 20 |
# File 'lib/virtus/attribute/enum.rb', line 16 def [](*values) klass = Class.new(self) klass.values = values klass end |
.build_type ⇒ Object
:nodoc:
23 24 25 |
# File 'lib/virtus/attribute/enum.rb', line 23 def build_type(*) Axiom::Types::Symbol end |
Instance Method Details
#coercion_error_message ⇒ Object
29 30 31 |
# File 'lib/virtus/attribute/enum.rb', line 29 def "Enum (#{self.class.values.join(',')})" end |
#value_coerced?(value) ⇒ Boolean
35 36 37 |
# File 'lib/virtus/attribute/enum.rb', line 35 def value_coerced?(value) self.class.values.include?(value) end |