class Decay::ActiveEnumAttribute
Public Class Methods
new(enum:)
click to toggle source
# File lib/decay/active_enum_attribute.rb, line 3 def initialize(enum:) @enum = enum end
Public Instance Methods
cast(value)
click to toggle source
User input
# File lib/decay/active_enum_attribute.rb, line 8 def cast(value) if value.is_a?(Decay::EnumeratedType) value elsif value.respond_to?(:to_sym) @enum[value.to_sym] else @enum[value] end end
deserialize(value)
click to toggle source
Database => Ruby
# File lib/decay/active_enum_attribute.rb, line 28 def deserialize(value) @enum[@enum.key_for(value)] end
serialize(value)
click to toggle source
Ruby => Database
# File lib/decay/active_enum_attribute.rb, line 19 def serialize(value) if value.respond_to?(:value) value.value else value end end