Class: PaperTrail::Human::Core::RelationLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/paper_trail/human/core/relation_loader.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ RelationLoader

Returns a new instance of RelationLoader.



7
8
9
# File 'lib/paper_trail/human/core/relation_loader.rb', line 7

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#preload(versions_data) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/paper_trail/human/core/relation_loader.rb', line 11

def preload(versions_data)
  relation_fields = collect_relation_fields(versions_data)
  return {} if relation_fields.empty?

  relation_fields.each_with_object({}) do |(key, ids), cache|
    class_name, attribute = key
    cache[key] = load_records(class_name, attribute, ids)
  end
end