Sha256: 0412f3f9177e121794d99fab6c53b22a5a43bbd16a58c3ff46072242cfcd94a1
Contents?: true
Size: 719 Bytes
Versions: 8
Compression:
Stored size: 719 Bytes
Contents
module Nylas module Model # Allows models to have an attribute which is a lists of another type of thing class ListAttributeDefinition attr_accessor :type_name, :exclude_when, :default def initialize(type_name:, exclude_when:, default:) self.type_name = type_name self.exclude_when = exclude_when self.default = default end def cast(list) return default if list.nil? || list.empty? list.map { |item| type.cast(item) } end def serialize(list) list = default if list.nil? || list.empty? list.map { |item| type.serialize(item) } end def type Types.registry[type_name] end end end end
Version data entries
8 entries across 8 versions & 1 rubygems