class ActiveModel::Attributes::Normalization::NormalizedValueType

:nodoc:

def ==(other)

def ==(other)
  self.class == other.class &&
    normalize_nil? == other.normalize_nil? &&
    normalizer == other.normalizer &&
    cast_type == other.cast_type
end

def cast(value)

def cast(value)
  normalize(super(value))
end

def hash

def hash
  [self.class, cast_type, normalizer, normalize_nil?].hash
end

def initialize(cast_type:, normalizer:, normalize_nil:)

def initialize(cast_type:, normalizer:, normalize_nil:)
  @cast_type = cast_type
  @normalizer = normalizer
  @normalize_nil = normalize_nil
  super(cast_type)
end

def normalize(value)

def normalize(value)
  normalizer.call(value) unless value.nil? && !normalize_nil?
end

def serialize(value)

def serialize(value)
  serialize_cast_value(cast(value))
end

def serialize_cast_value(value)

def serialize_cast_value(value)
  ActiveModel::Type::SerializeCastValue.serialize(cast_type, value)
end