485: def preload(attr, *arguments)
486: attr = attr.to_s
487: @flexirecord_class.prepare_read_parameters(attr, arguments)
488: cache_key = [attr] + arguments
489: if @flexirecord_preloaded.has_key?(cache_key)
490: return @flexirecord_preloaded[cache_key]
491: end
492: attr = attr.to_s
493: loader = self.record_class.loader(attr)
494: unless loader
495: raise ArgumentError, "Could not preload attribute '#{attr}', due to missing loading procedure."
496: end
497: return @flexirecord_preloaded[cache_key] = loader.call(self, arguments)
498: end