Sha256: 1bb52c1a2e6cf6ea4d24a6e623b99304f3f3b5dcfd3e0f048c1fb467fe4c609f
Contents?: true
Size: 767 Bytes
Versions: 7
Compression:
Stored size: 767 Bytes
Contents
module ActiveRecord module CountLoader module Builder module HasManyExtension def valid_options super + [:count_loader] end def build(model) define_count_loader(model) if options[:count_loader] super end def define_count_loader(model) name_with_count = :"#{name}_count" name_with_count = options[:count_loader] if options[:count_loader].is_a?(Symbol) valid_options = options.slice(*Associations::Builder::CountLoader.valid_options) reflection = Associations::Builder::CountLoader.build(model, name_with_count, nil, valid_options) Reflection.add_reflection(model, name_with_count, reflection) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems