Class: Search

Inherits:
ApplicationRecord show all
Includes:
Uuid::Uuidable
Defined in:
app/models/search.rb

Overview

Searching is really a behaviour separate from the thing you are search against. For instance, with a call to Asset.all you find all assets; except if we removed the asset hierarchy you do not get a search across all of the models that made it up. Instead you want a SearchForAsset model that does the correct search behaviour for you. Well, this is the base for that.

You must implement a 'scope' method that takes a hash of the parameters as a parameter and returns a named scope like object (i.e. something the calling code can then call first, last, all or paginate on). It is not your search implementations responsibility to decide how many things are being searched for.

Defined Under Namespace

Classes: FindAssetByBarcode, FindIlluminaAPlates, FindIlluminaAStockPlates, FindIlluminaBPlates, FindIlluminaBPlatesForUser, FindIlluminaBStockPlates, FindIlluminaCPlates, FindIlluminaCTubes, FindLotByBatchId, FindLotByLotNumber, FindModelByName, FindOutstandingIlluminaBPrePcrPlates, FindPlates, FindPlatesForUser, FindPulldownPlates, FindPulldownPlatesForUser, FindPulldownStockPlates, FindQcableByBarcode, FindRobotByBarcode, FindSourceAssetsByDestinationAssetBarcode, FindTubes, FindUserByLogin, FindUserBySwipecardCode

Method Summary

Methods included from Uuid::Uuidable

included, #unsaved_uuid!, #uuid

Methods inherited from ApplicationRecord

convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!

Methods included from Warren::BroadcastMessages

#broadcast, included, #queue_associated_for_broadcast, #queue_for_broadcast, #warren