Sha256: d73ec7b30d06e76b02d46869a0d1f49875f53860c754a6481091d7f22e87df9e
Contents?: true
Size: 995 Bytes
Versions: 15
Compression:
Stored size: 995 Bytes
Contents
module Torque module PostgreSQL module Adapter module OID class Enum < ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Enum attr_reader :name, :klass def self.create(row) new(row['typname']) end def initialize(name) @name = name @klass = Attributes::Enum.lookup(name) end def hash [self.class, name].hash end def serialize(value) return if value.blank? value = cast_value(value) value.to_s unless value.nil? end def assert_valid_value(value) cast_value(value) end private def cast_value(value) return if value.blank? return value if value.is_a?(@klass) @klass.new(value) rescue Attributes::Enum::EnumError nil end end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems