Class: FactoryDataPreloader::PreloaderCollection
- Defined in:
- lib/factory_data_preloader/preloader_collection.rb
Direct Known Subclasses
Instance Method Summary collapse
Instance Method Details
#dependency_order ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/factory_data_preloader/preloader_collection.rb', line 3 def dependency_order unordered_preloaders = Array.new(self) # rather than using self.dup since singleton doesn't allow duping. ordered_preloaders = [] until unordered_preloaders.empty? unordered_preloaders.each do |preloader| if preloader.dependencies.all? { |dependency| ordered_preloaders.include?(dependency) } ordered_preloaders << unordered_preloaders.delete(preloader) end end end ordered_preloaders end |
#from_symbol(symbol, raise_error = true) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/factory_data_preloader/preloader_collection.rb', line 18 def from_symbol(symbol, raise_error = true) unless preloader = self.detect { |p| p.model_type == symbol } raise PreloaderNotDefinedError, "The preloader for :#{symbol} has not been defined." if raise_error end preloader end |