Class: Search
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Search
- 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.
Direct Known Subclasses
DeprecatedSearch, FindAssetByBarcode, FindLotByBatchId, FindLotByLotNumber, FindModelByName, FindOutstandingIlluminaBPrePcrPlates, FindPlates, FindPlatesForUser, FindQcableByBarcode, FindRobotByBarcode, FindSourceAssetsByDestinationAssetBarcode, FindTubes, FindUserByLogin, FindUserBySwipecardCode
Defined Under Namespace
Classes: DeprecatedSearch, 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
alias_association, convert_labware_to_receptacle_for, find_by_id_or_name, find_by_id_or_name!