The typecast_on_load plugin exists because most of Sequel’s database adapters don’t have complete control over typecasting, and may return columns that aren’t typecast correctly (with correct being defined as how the model object would typecast the same column values).
This plugin makes model loading call the setter methods (which typecast by default) for all columns given. You can either specify the columns to typecast on load in the plugin call itself, or afterwards using add_typecast_on_load_columns:
Album.plugin :typecast_on_load, :release_date, :record_date # or: Album.plugin :typecast_on_load Album.add_typecast_on_load_columns :release_date, :record_date
If the database returns release_date and record_date columns as strings instead of dates, this will ensure that if you access those columns through the model object, you’ll get Date objects instead of strings.
Classes and Modules
Public Class methods
Call add_typecast_on_load_columns on the passed column arguments.
# File lib/sequel/plugins/typecast_on_load.rb 25 def self.configure(model, *columns) 26 model.instance_exec do 27 @typecast_on_load_columns ||= [] 28 add_typecast_on_load_columns(*columns) 29 end 30 end