class IknowParams::Serializer::ActsAsEnum

Abstract serializer for `ActsAsEnum` constants.

Public Instance Methods

dump(val, json: nil) click to toggle source
# File lib/iknow_params/serializer.rb, line 319
def dump(val, json: nil)
  matches_type!(val)
  val.enum_constant
end
load(str) click to toggle source
# File lib/iknow_params/serializer.rb, line 311
def load(str)
  constant = clazz.value_of(str)
  if constant.nil?
    raise LoadError.new("Invalid #{clazz.name} member: '#{str}'")
  end
  constant
end
matches_type?(val) click to toggle source
Calls superclass method IknowParams::Serializer#matches_type?
# File lib/iknow_params/serializer.rb, line 324
def matches_type?(val)
  return true if super(val)
  dc = clazz.dummy_class
  dc.present? && val.is_a?(dc)
end