class Solr::Request::AddDocument
Public Class Methods
new(doc={})
click to toggle source
create the request, optionally passing in a Solr::Document
request = Solr::Request::AddDocument.new doc
as a short cut you can pass in a Hash instead:
request = Solr::Request::AddDocument.new :creator => 'Jorge Luis Borges'
or an array, to add multiple documents at the same time:
request = Solr::Request::AddDocument.new([doc1, doc2, doc3])
# File lib/solr/request/add_document.rb, line 32 def initialize(doc={}) @docs = [] if doc.is_a?(Array) doc.each { |d| add_doc(d) } else add_doc(doc) end end
Public Instance Methods
to_s()
click to toggle source
returns the request as a string suitable for posting
# File lib/solr/request/add_document.rb, line 43 def to_s e = Solr::XML::Element.new 'add' for doc in @docs e.add_element doc.to_xml end return e.to_s end
Private Instance Methods
add_doc(doc)
click to toggle source
# File lib/solr/request/add_document.rb, line 52 def add_doc(doc) case doc when Hash @docs << Solr::Document.new(doc) when Solr::Document @docs << doc else raise "must pass in Solr::Document or Hash" end end