instance method locate_many

Ruby on Rails 1.3.0

Last seen in v1.3.0

Available in: v1.0.1 v1.1.0 v1.2.1 v1.3.0

Signature

locate_many(gids, options = {})

No documentation comment.

Parameters

gids req
options opt = {}
Source
# File lib/global_id/locator.rb, line 168
        def locate_many(gids, options = {})
          ids_by_model = Hash.new { |hash, key| hash[key] = [] }

          gids.each do |gid|
            next unless model_id_is_valid?(gid)
            ids_by_model[gid.model_class] << gid.model_id
          end

          records_by_model_name_and_id = {}

          ids_by_model.each do |model, ids|
            records = find_records(model, ids, ignore_missing: options[:ignore_missing], includes: options[:includes])

            records_by_id = records.index_by do |record|
              record.id.is_a?(Array) ? record.id.map(&:to_s) : record.id.to_s
            end

            records_by_model_name_and_id[model.name] = records_by_id
          end

          gids.filter_map { |gid| records_by_model_name_and_id[gid.model_name][gid.model_id] }
        end

Defined in lib/global_id/locator.rb line 168 · View on GitHub · Improve this page · Find usages on GitHub

Defined in GlobalID::Locator::BaseLocator

Type at least 2 characters to search.

↑↓ navigate · open · esc close