Class: JsonApiResource::Associations::Preloaders::Distributors::DistributorByObjectId

Inherits:
Base
  • Object
show all
Defined in:
lib/json_api_resource/associations/preloaders/distributors/distributor_by_object_id.rb

Instance Attribute Summary

Attributes inherited from Base

#association

Instance Method Summary collapse

Methods inherited from Base

#distribute, #initialize

Constructor Details

This class inherits a constructor from JsonApiResource::Associations::Preloaders::Distributors::Base

Instance Method Details

#assign(targets, results) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/json_api_resource/associations/preloaders/distributors/distributor_by_object_id.rb', line 7

def assign( targets, results )
  targets.each do |target|
              
    id = target.id
    
    result = results.select{ |r| r.send(key) == id }

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

#validate_assignability!(results) ⇒ Object



19
20
21
22
23
# File 'lib/json_api_resource/associations/preloaders/distributors/distributor_by_object_id.rb', line 19

def validate_assignability!( results )
  results.each do |obj|
    raise_unless obj.respond_to?(key), "preloading #{root}.#{name} failed: results don't respond to '#{key}'"
  end
end