Module: Sequel::Plugins::TypecastOnLoad
- Defined in:
- lib/sequel/plugins/typecast_on_load.rb
Overview
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.
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Class Method Summary collapse
-
.configure(model, *columns) ⇒ Object
Call add_typecast_on_load_columns on the passed column arguments.
Class Method Details
.configure(model, *columns) ⇒ Object
Call add_typecast_on_load_columns on the passed column arguments.
25 26 27 28 29 30 |
# File 'lib/sequel/plugins/typecast_on_load.rb', line 25 def self.configure(model, *columns) model.instance_exec do @typecast_on_load_columns ||= [] add_typecast_on_load_columns(*columns) end end |