Sha256: df626840c606075f474665080db755c631260db608407dcbf502e2ab798930ee
Contents?: true
Size: 608 Bytes
Versions: 4
Compression:
Stored size: 608 Bytes
Contents
# typed: strict module Typed module Coercion class FloatCoercer < Coercer extend T::Generic Target = type_member { {fixed: Float} } sig { override.params(type: T::Class[T.anything]).returns(T::Boolean) } def used_for_type?(type) type == Float end sig { override.params(field: Field, value: Value).returns(Result[Target, CoercionError]) } def coerce(field:, value:) Success.new(Float(value)) rescue ArgumentError, TypeError Failure.new(CoercionError.new("'#{value}' cannot be coerced into Float.")) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems