Module: SRL::Utils

Defined in:
lib/srl/utils.rb

Class Method Summary collapse

Class Method Details

.collection(src, klass) ⇒ Object

Return an array of klass objects from a source array of hashes.

Notes

If src is already an array of klass, this function simply returns src.

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
# File 'lib/srl/utils.rb', line 9

def self.collection(src, klass)
  raise ArgumentError unless src.is_a?(Array)
  raise ArgumentError unless klass.respond_to?(:from_hash)

  return [] if src.empty?
  return src if src.first.is_a?(klass)

  src.map { |i| klass.from_hash(i) }
end