class ActiveModel::Type::ImmutableString

:nodoc:

def cast_value(value)

def cast_value(value)
  case value
  when true then @true
  when false then @false
  else value.to_s.freeze
  end
end

def initialize(**args)

:nodoc:
def initialize(**args)
  @true  = -(args.delete(:true)&.to_s  || "t")
  @false = -(args.delete(:false)&.to_s || "f")
  super
end

def serialize(value)

def serialize(value)
  case value
  when ::Numeric, ::Symbol, ActiveSupport::Duration then value.to_s
  when true then @true
  when false then @false
  else super
  end
end

def type

def type
  :string
end