class NutrientMeasurement < ApplicationRecord include NutrientVector validates :measured_on, presence: true validates :measured_on, uniqueness: true def self.data_series_for(*nutrients) nutrients.map do |formula| { name: formula, data: self.order(:measured_on).pluck(:measured_on, formula) } end end private def nutrient_values @nutrient_values ||= NutrientVector::NUTRIENT_KEYS.index_with do |k| read_attribute(k).to_f end end end