Sha256: cbc53f0317f889f9130f3c00ca4f75b3ee355852949fb8eeab6ee70fa9737fd8

Contents?: true

Size: 528 Bytes

Versions: 7

Compression:

Stored size: 528 Bytes

Contents

class Graphiti::Adapters::ActiveRecord::ManyToManySideload < Graphiti::Sideload::ManyToMany
  def through_table_name
    @through_table_name ||= parent_resource_class.model
      .reflections[through.to_s].klass.table_name
  end

  def through_relationship_name
    foreign_key.keys.first
  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

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
graphiti-1.0.alpha.25 lib/graphiti/adapters/active_record/many_to_many_sideload.rb
graphiti-1.0.alpha.24 lib/graphiti/adapters/active_record/many_to_many_sideload.rb
graphiti-1.0.alpha.23 lib/graphiti/adapters/active_record/many_to_many_sideload.rb
graphiti-1.0.alpha.22 lib/graphiti/adapters/active_record/many_to_many_sideload.rb
graphiti-1.0.alpha.21 lib/graphiti/adapters/active_record/many_to_many_sideload.rb
graphiti-1.0.alpha.20 lib/graphiti/adapters/active_record/many_to_many_sideload.rb
graphiti-1.0.alpha.19 lib/graphiti/adapters/active_record/many_to_many_sideload.rb