class FlexStationData::Presenters::SampleHash

Attributes

options[R]
quality_control[R]
sample[R]
times[R]

Public Class Methods

new(times, sample, **options) click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 14
def initialize(times, sample, **options)
  @times = times
  @sample = sample
  @options = options
end

Public Instance Methods

errors() click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 20
def errors
  @errors ||= SampleQuality.call(sample, **options).reject(&:good?)
end
errors?() click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 24
def errors?
  errors.present?
end
errors_hash() click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 28
def errors_hash
  { "error" => errors.first&.to_s }
end
present() click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 42
def present
  { "sample" => sample.label }.merge(wells_hash).merge(errors_hash).merge(regression_hash)
end
regression_hash() click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 36
def regression_hash
  return SampleRegressionHash.headers.zip([]).to_h if errors?

  SampleRegressionHash.present(times, sample.mean, **options).transform_values(&:first)
end
wells_hash() click to toggle source
# File lib/flex_station_data/presenters/sample_hash.rb, line 32
def wells_hash
  { "wells" => sample.wells.join(", ") }
end