Class: Terrestrial::LazyCollection
- Inherits:
-
Object
- Object
- Terrestrial::LazyCollection
- Includes:
- Enumerable, InspectionString
- Defined in:
- lib/terrestrial/lazy_collection.rb
Instance Method Summary collapse
- #each(&block) ⇒ Object
- #each_loaded(&block) ⇒ Object
-
#initialize(database_enum, loader, queries) ⇒ LazyCollection
constructor
A new instance of LazyCollection.
- #subset(name, *params) ⇒ Object
- #to_ary ⇒ Object
- #where(criteria) ⇒ Object
Methods included from InspectionString
Constructor Details
#initialize(database_enum, loader, queries) ⇒ LazyCollection
Returns a new instance of LazyCollection.
8 9 10 11 12 13 |
# File 'lib/terrestrial/lazy_collection.rb', line 8 def initialize(database_enum, loader, queries) @database_enum = database_enum @loader = loader @queries = queries @loaded = false end |
Instance Method Details
#each(&block) ⇒ Object
34 35 36 |
# File 'lib/terrestrial/lazy_collection.rb', line 34 def each(&block) enum.each(&block) end |
#each_loaded(&block) ⇒ Object
38 39 40 |
# File 'lib/terrestrial/lazy_collection.rb', line 38 def each_loaded(&block) loaded_objects.each(&block) end |
#subset(name, *params) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/terrestrial/lazy_collection.rb', line 22 def subset(name, *params) self.class.new( queries.execute(database_enum, name, *params), loader, queries, ) end |
#to_ary ⇒ Object
30 31 32 |
# File 'lib/terrestrial/lazy_collection.rb', line 30 def to_ary to_a end |
#where(criteria) ⇒ Object
18 19 20 |
# File 'lib/terrestrial/lazy_collection.rb', line 18 def where(criteria) self.class.new(database_enum.where(criteria), loader, queries) end |