class Torque::PostgreSQL::Adapter::OID::EnumSet
Public Class Methods
new(name, enum_klass)
click to toggle source
# File lib/torque/postgresql/adapter/oid/enum_set.rb, line 8 def initialize(name, enum_klass) @name = name + '[]' @klass = Attributes::EnumSet.lookup(name, enum_klass) @set_klass = self @enum_klass = enum_klass end
Public Instance Methods
deserialize(value)
click to toggle source
# File lib/torque/postgresql/adapter/oid/enum_set.rb, line 20 def deserialize(value) return unless value.present? value = value[1..-2].split(',') if value.is_a?(String) cast_value(value) end
serialize(value)
click to toggle source
# File lib/torque/postgresql/adapter/oid/enum_set.rb, line 26 def serialize(value) return if value.blank? value = cast_value(value) return if value.blank? "{#{value.map(&:to_s).join(',')}}" end
type()
click to toggle source
# File lib/torque/postgresql/adapter/oid/enum_set.rb, line 16 def type :enum_set end
type_cast_for_schema(value)
click to toggle source
Always use symbol values for schema dumper
# File lib/torque/postgresql/adapter/oid/enum_set.rb, line 35 def type_cast_for_schema(value) cast_value(value).map(&:to_sym).inspect end
Private Instance Methods
cast_value(value)
click to toggle source
# File lib/torque/postgresql/adapter/oid/enum_set.rb, line 41 def cast_value(value) return if value.blank? return value if value.is_a?(@klass) @klass.new(value) rescue Attributes::EnumSet::EnumSetError nil end