Sha256: 143bbfef45841ccf64df75526fc31d4341300a7e25ff2069182abd78cc7b58b5
Contents?: true
Size: 829 Bytes
Versions: 4
Compression:
Stored size: 829 Bytes
Contents
module Trax module Core module Types module Behaviors module ArrayOfMembers extend ::ActiveSupport::Concern included do include ::Enumerable class_attribute :member_class unless self.respond_to?(:member_class) && self.member_class end def initialize(*args) super([args].flatten.compact) self.map!{ |ele| self.class.member_class.new(ele) } if self.any? end def <<(val) if self.class.member_class && val.class == self.class.member_class super(val) else super(self.class.member_class.new(val)) end end def each(&block) yield __getobj__.each(&block) end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems