class Solr::DocumentCollection
Attributes
documents[R]
total_count[R]
Public Class Methods
empty()
click to toggle source
# File lib/solr/document_collection.rb, line 11 def self.empty new(documents: [], total_count: 0) end
from_ids(ids, model_name:)
click to toggle source
# File lib/solr/document_collection.rb, line 6 def self.from_ids(ids, model_name:) documents = ids.map { |id| Solr::Document.new(id: id, model_name: model_name) } new(documents: documents, total_count: documents.count) end
new(documents:, total_count:)
click to toggle source
# File lib/solr/document_collection.rb, line 15 def initialize(documents:, total_count:) @documents = documents @total_count = total_count end
Public Instance Methods
+(other)
click to toggle source
# File lib/solr/document_collection.rb, line 39 def +(other) self.class.new( documents: documents + other.documents, total_count: total_count + other.total_count ) end
each(&b)
click to toggle source
# File lib/solr/document_collection.rb, line 20 def each(&b) return enum_for(:each) unless block_given? documents.each(&b) end
find(id)
click to toggle source
# File lib/solr/document_collection.rb, line 51 def find(id) documents.find { |doc| doc.id == id } end
first(n)
click to toggle source
# File lib/solr/document_collection.rb, line 25 def first(n) new_documents = documents.first(n) self.class.new(documents: new_documents, total_count: new_documents.count) end
slice(range)
click to toggle source
# File lib/solr/document_collection.rb, line 30 def slice(range) new_documents = documents[range] if new_documents self.class.new(documents: new_documents, total_count: new_documents.count) else self.class.empty end end
unshift(document)
click to toggle source
# File lib/solr/document_collection.rb, line 46 def unshift(document) @documents.unshift(document) @total_count += 1 end