Sha256: ab4a58037d0223194a390ecf1e39f363aebd08014bb3a815df1d6aa3c56275a5
Contents?: true
Size: 664 Bytes
Versions: 6
Compression:
Stored size: 664 Bytes
Contents
# require "eitil_core/active_record/hash_to_relation" require "eitil_core/errors/raise_error" class Array def to_relation return self unless self.present? unless self.all? { |item| item.class.ancestors.include? ApplicationRecord } raise_error "InvalidArrayError", ".to_relation requires that all array items are model instances" end unless self.each_cons(2).all? { |el1, el2| el1.class == el2.class } raise_error "InvalidArrayError", ".to_relation requires that all array items are instances of the same model" end _class = self.first.class ids = self.map(&:id) return _class.where(id: ids) end end
Version data entries
6 entries across 6 versions & 1 rubygems