/usr/lib/ruby/vendor_ruby/sequel/extensions/looser_typecasting.rb is in ruby-sequel 4.1.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # 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
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 Integer using to_i instead of Kernel.Integer
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
|