Module: Sequel::Plugins::PgTypecastOnLoad
- Defined in:
- lib/sequel/plugins/pg_typecast_on_load.rb
Overview
The PgTypecastOnLoad plugin exists because when you connect to PostgreSQL using the do, swift, or jdbc adapter, Sequel doesn’t have complete control over typecasting, and may return columns as strings instead of how the native postgres adapter would typecast them. This is mostly needed for the additional support that the pg_* extensions add for advanced PostgreSQL types such as arrays.
This plugin makes model loading to do the same conversion that the native postgres adapter would do for all columns given. You can either specify the columns to typecast on load in the plugin call itself, or afterwards using add_pg_typecast_on_load_columns:
# aliases => text[] column
# config => hstore column
Album.plugin :pg_typecast_on_load, :aliases, :config
# or:
Album.plugin :pg_typecast_on_load
Album.add_pg_typecast_on_load_columns :aliases, :config
This plugin only handles values that the adapter returns as strings. If the adapter returns a value other than a string, this plugin will have no effect. You may be able to use the regular typecast_on_load plugin to handle those cases.
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Class Method Summary collapse
-
.configure(model, *columns) ⇒ Object
Call add_pg_typecast_on_load_columns on the passed column arguments.
Class Method Details
.configure(model, *columns) ⇒ Object
Call add_pg_typecast_on_load_columns on the passed column arguments.
29 30 31 32 33 34 |
# File 'lib/sequel/plugins/pg_typecast_on_load.rb', line 29 def self.configure(model, *columns) model.instance_eval do @pg_typecast_on_load_columns ||= [] add_pg_typecast_on_load_columns(*columns) end end |