function let(Client $elasticsearch, Searchable $searchableObject) { $searchableObject->getSearchableBody()->willReturn($this->searchableBody); $searchableObject->getSearchableType()->willReturn($this->searchableType); $searchableObject->getSearchableId()->willReturn($this->searchableId); $this->beConstructedWith($elasticsearch); $this->setIndexName($this->indexName); }
public function let(Client $algoliaClient, Searchable $searchableObject, \AlgoliaSearch\Index $index) { $searchableObject->getSearchableBody()->willReturn($this->searchableBody); $searchableObject->getSearchableType()->willReturn($this->searchableType); $searchableObject->getSearchableId()->willReturn($this->searchableId); $this->beConstructedWith($algoliaClient); $this->index = $index; }
/** * Get the id parameter that is used by Algolia as an array. * * @param Searchable $subject * * @return string */ protected function getAlgoliaId($subject) { return $subject->getSearchableType() . '-' . $subject->getSearchableId(); }
/** * Remove the given subject from the search index * * @param Searchable $subject */ public function removeFromIndex(Searchable $subject) { $this->elasticsearch->delete(['index' => $this->indexName, 'type' => $subject->getSearchableType(), 'id' => $subject->getSearchableId()]); }