Sha256: 5800bd247826863a4459c1d7d872f8a28bd96af81c51f233b501aba658f4ebff
Contents?: true
Size: 848 Bytes
Versions: 1
Compression:
Stored size: 848 Bytes
Contents
module JsonapiCompliable module Adapters module ActiveRecord class ManyToManySideload < Sideload::ManyToMany def default_base_scope resource_class.model.all end def through_table_name @through_table_name ||= parent_resource_class.model .reflections[through.to_s].klass.table_name end def scope(parent_ids) base_scope .includes(through) .where(through_table_name => { true_foreign_key => parent_ids }) .distinct end def infer_foreign_key parent_model = parent_resource_class.model key = parent_model.reflections[name.to_s].options[:through] value = parent_model.reflections[key.to_s].foreign_key.to_sym { key => value } end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonapi_compliable-1.0.alpha.2 | lib/jsonapi_compliable/adapters/active_record/many_to_many_sideload.rb |