Class: Sequencescape::Api::V2::Receptacle

Inherits:
Base
  • Object
show all
Defined in:
app/sequencescape/sequencescape/api/v2/receptacle.rb

Overview

A class representing receptacles coming from the SequenceScape JSON API.

Instance Method Summary collapse

Instance Method Details

#all_latest_qcObject



20
21
22
# File 'app/sequencescape/sequencescape/api/v2/receptacle.rb', line 20

def all_latest_qc
  qc_results&.sort_by(&:id)&.index_by(&:key)&.values || []
end

#latest_molarityObject



9
10
11
# File 'app/sequencescape/sequencescape/api/v2/receptacle.rb', line 9

def latest_molarity
  latest_qc(key: 'molarity', units: 'nM')
end

#latest_qc(key:, units:) ⇒ Object



13
14
15
16
17
18
# File 'app/sequencescape/sequencescape/api/v2/receptacle.rb', line 13

def latest_qc(key:, units:)
  qc_results.to_a # Convert to array to resolve any api queries. Otherwise select fails to work.
    .select { |qc| qc.key.casecmp(key).zero? }
    .select { |qc| qc.units.casecmp(units).zero? }
    .max_by(&:created_at)
end