module Sequel::Plugins::PgTypecastOnLoad::ClassMethods

  1. lib/sequel/plugins/pg_typecast_on_load.rb

Attributes

pg_typecast_on_load_columns [R]

The columns to typecast on load for this model.

Public Instance methods

add_pg_typecast_on_load_columns (*columns)

Add additional columns to typecast on load for this model.

[show source]
# File lib/sequel/plugins/pg_typecast_on_load.rb, line 41
def add_pg_typecast_on_load_columns(*columns)
  @pg_typecast_on_load_columns.concat(columns)
end
call (values)
[show source]
# File lib/sequel/plugins/pg_typecast_on_load.rb, line 45
def call(values)
  super(load_typecast_pg(values))
end
load_typecast_pg (values)

Lookup the conversion proc for the column’s oid in the Database object, and use it to convert the value.

[show source]
# File lib/sequel/plugins/pg_typecast_on_load.rb, line 51
def load_typecast_pg(values)
  pg_typecast_on_load_columns.each do |c|
    if (v = values[c]).is_a?(String) && (oid = db_schema[c][:oid]) && (pr = db.conversion_procs[oid])
      values[c] = pr.call(v)
    end
  end
  values
end