Method: GraphQL::Dataloader::ActiveRecordSource#initialize

Defined in:
lib/graphql/dataloader/active_record_source.rb

#initialize(model_class, find_by: model_class.primary_key) ⇒ ActiveRecordSource

Returns a new instance of ActiveRecordSource.



7
8
9
10
11
12
13
14
15
16
# File 'lib/graphql/dataloader/active_record_source.rb', line 7

def initialize(model_class, find_by: model_class.primary_key)
  @model_class = model_class
  @find_by = find_by
  @find_by_many = find_by.is_a?(Array)
  if @find_by_many
    @type_for_column = @find_by.map { |fb| @model_class.type_for_attribute(fb) }
  else
    @type_for_column = @model_class.type_for_attribute(@find_by)
  end
end