module HasUuid::ActiveRecord::Associations::CollectionAssociation
Public Instance Methods
uuids_reader()
click to toggle source
# File lib/has_uuid/active_record/associations/collection_association.rb, line 7 def uuids_reader if loaded? || options[:finder_sql] load_target.map do |record| record.send(reflection.association_primary_uuid) end else column = "#{reflection.quoted_table_name}.#{reflection.association_primary_uuid}" association_scope.pluck(column) end end
uuids_writer(uuids)
click to toggle source
# File lib/has_uuid/active_record/associations/collection_association.rb, line 18 def uuids_writer(uuids) uuid_column = reflection.primary_uuid_column uuids = Array(uuids).reject { |uuid| uuid.blank? } uuids.map! { |u| uuid_column.type_cast(u) } replace(klass.find(uuids).index_by { |r| r.uuid }.values_at(*uuids)) end