class JsonApiResource::Associations::Preloaders::Distributors::DistributorByTargetId

Public Instance Methods

assign( targets, results ) click to toggle source
# File lib/json_api_resource/associations/preloaders/distributors/distributor_by_target_id.rb, line 7
def assign( targets, results )
  targets.each do |target|
    
    ids = Array(target.send(key))
    
    # this obejct doesn't have this association. skip
    next unless ids.present?
      
    result = results.select{ |r| ids.include? r.id }

    target._cached_associations ||= {}
    target._cached_associations[name] = post_process result

  end
end
validate_assignability!( results ) click to toggle source
# File lib/json_api_resource/associations/preloaders/distributors/distributor_by_target_id.rb, line 23
def validate_assignability!( results )
  results.each do |obj|
    raise_unless obj.respond_to?(:id), "preloading #{root}.#{name} failed: results don't respond to 'id'"
  end
end