Sha256: e21c4676c60ed66e04b10e52b2c479d5f6e073540021ad59679b72b17482ddf8
Contents?: true
Size: 738 Bytes
Versions: 82
Compression:
Stored size: 738 Bytes
Contents
# frozen_string_literal: true module ActiveModel module Type class ImmutableString < Value # :nodoc: def initialize(**args) @true = -(args.delete(:true)&.to_s || "t") @false = -(args.delete(:false)&.to_s || "f") super end def type :string end 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 private def cast_value(value) case value when true then @true when false then @false else value.to_s.freeze end end end end end
Version data entries
82 entries across 78 versions & 9 rubygems