class ActiveRecord::StringEnum::EnumType

Attributes

mapping[R]
name[R]

Public Class Methods

new(name, mapping) click to toggle source
# File lib/active_record/string_enum.rb, line 69
def initialize(name, mapping)
  @name = name
  @mapping = mapping
end

Public Instance Methods

cast(value) click to toggle source
# File lib/active_record/string_enum.rb, line 74
def cast(value)
  return if value.blank?

  if mapping.include?(value.to_s)
    value.to_sym
  else
    raise ArgumentError, "'#{value}' is not a valid #{name}"
  end
end
deserialize(value) click to toggle source
# File lib/active_record/string_enum.rb, line 84
def deserialize(value)
  return if value.nil?
  value.to_sym
end
serialize(value) click to toggle source
# File lib/active_record/string_enum.rb, line 89
def serialize(value)
  value.to_s
end