Sha256: aacce75d21ce8101fd780f26e6d4d39037433b8265eca1e38249e24c10a948dc
Contents?: true
Size: 597 Bytes
Versions: 3
Compression:
Stored size: 597 Bytes
Contents
module Vedeu module Coercions module ClassMethods # Produces new objects of the correct class from attributes hashes, # ignores objects that have already been coerced. # # @param values [Array|Hash] # @return [Array] def coercer(values) return [] if values.nil? || values.empty? [values].flatten.map do |value| if value.is_a?(self) value else self.new(value) end end end end def self.included(receiver) receiver.extend(ClassMethods) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.1.18 | lib/vedeu/models/attributes/coercions.rb |
vedeu-0.1.17 | lib/vedeu/models/attributes/coercions.rb |
vedeu-0.1.16 | lib/vedeu/models/attributes/coercions.rb |