def with_indexer_metadata(indexer_metadata={})
with_metadata = {}
indexer_metadata.each_key do |key|
with_metadata[key.to_s] = indexer_metadata[key]
end
with_metadata["type"] ||= self.index_object_type
with_metadata["id"] ||= self.index_id
with_metadata["database"] ||= Chef::Config[:couchdb_database]
with_metadata["item"] ||= self.to_hash
raise ArgumentError, "Type, Id, or Database missing in index operation: #{with_metadata.inspect}" if (with_metadata["id"].nil? or with_metadata["type"].nil?)
with_metadata
end