Sha256: 82e79d0e2c8148e1aef6c64db693c1f434634f633c7049eca8f59001fc5f377b
Contents?: true
Size: 1.21 KB
Versions: 12
Compression:
Stored size: 1.21 KB
Contents
# frozen-string-literal: true # # The LooserTypecasting extension loosens the default database typecasting # for the following types: # # :float :: use to_f instead of Float() # :integer :: use to_i instead of Integer() # :decimal :: don't check string conversion with Float() # :string :: silently allow hash and array conversion to string # # To load the extension into the database: # # DB.extension :looser_typecasting # # Related module: Sequel::LooserTypecasting # module Sequel module LooserTypecasting # Typecast the value to a Float using to_f instead of Kernel.Float def typecast_value_float(value) value.to_f end # Typecast the value to an Integer using to_i instead of Kernel.Integer def typecast_value_integer(value) value.to_i end # Typecast the value to an String using to_s instead of Kernel.String def typecast_value_string(value) value.to_s end # Typecast the value to a BigDecimal, without checking if strings # have a valid format. def typecast_value_decimal(value) if value.is_a?(String) BigDecimal.new(value) else super end end end Database.register_extension(:looser_typecasting, LooserTypecasting) end
Version data entries
12 entries across 12 versions & 2 rubygems