Sha256: d4feb65d732e5a8aaea9645edb07a8f474f0e03b0f73eb57486f73b4f99ce4d5
Contents?: true
Size: 956 Bytes
Versions: 5
Compression:
Stored size: 956 Bytes
Contents
class Anchormodel::ActiveModelTypeValueMulti < Anchormodel::ActiveModelTypeValueSingle # This converts DB or input to an Anchormodel instance def cast(values) return values.split(',').map { |value| super(value) }.compact.to_set end # This converts an Anchormodel instance to string for DB def serialize(values) return case values when Enumerable values.map { |value| super(value) }.compact.join(',') when String values when nil '' else fail "Attempt to set #{@attribute.attribute_name} to unsupported type #{values.class}" end end def serializable?(values) return case values when Enumerable values.map { |value| super(value) }.compact.join(',') when String values.split(',').map { |value| super(value) }.compact else false end end end
Version data entries
5 entries across 5 versions & 1 rubygems