class SmartPreloads::List
Public Class Methods
new(collection, loader: nil)
click to toggle source
# File lib/smart_preloads/list.rb, line 5 def initialize(collection, loader: nil) @collection = collection @loader = loader || Loader.new(@collection) end
Public Instance Methods
+(other)
click to toggle source
# File lib/smart_preloads/list.rb, line 28 def +(other) to_a + other.to_a end
==(other)
click to toggle source
# File lib/smart_preloads/list.rb, line 20 def ==(other) to_a == other end
[](idx)
click to toggle source
# File lib/smart_preloads/list.rb, line 32 def [](idx) to_a[idx] end
each() { |resource| ... }
click to toggle source
# File lib/smart_preloads/list.rb, line 10 def each loaded_collection.each do |resource| if resource.is_a?(Item) yield resource else yield Item.new(resource, loader: @loader) end end end
size()
click to toggle source
# File lib/smart_preloads/list.rb, line 24 def size to_a.size end
Protected Instance Methods
fetch_loaded_collection()
click to toggle source
# File lib/smart_preloads/list.rb, line 42 def fetch_loaded_collection preload_defaults @collection end
loaded_collection()
click to toggle source
# File lib/smart_preloads/list.rb, line 38 def loaded_collection @loaded_collection ||= fetch_loaded_collection end
preload_defaults()
click to toggle source
# File lib/smart_preloads/list.rb, line 47 def preload_defaults @loader.load_default end