class Quby::Questionnaires::Entities::Charting::LineChart
Attributes
baseline[RW]
@return [Proc]
clinically_relevant_change[RW]
@return [Float]
tonality[RW]
@return [Symbol]
y_label[RW]
@return [String]
Public Class Methods
new(key, y_label: nil, tonality: :lower_is_better, baseline: nil, clinically_relevant_change: nil, **kwargs)
click to toggle source
Calls superclass method
Quby::Questionnaires::Entities::Charting::Chart::new
# File lib/quby/questionnaires/entities/charting/line_chart.rb, line 22 def initialize(key, y_label: nil, tonality: :lower_is_better, baseline: nil, clinically_relevant_change: nil, **kwargs) super(key, **kwargs) self.y_label = y_label self.tonality = tonality self.baseline = baseline self.clinically_relevant_change = clinically_relevant_change end
Public Instance Methods
tonality=(value)
click to toggle source
# File lib/quby/questionnaires/entities/charting/line_chart.rb, line 34 def tonality=(value) fail "Invalid tonality: #{value}" unless [:higher_is_better, :lower_is_better].include?(value) @tonality = value end
Private Instance Methods
make_baseline_proc()
click to toggle source
# File lib/quby/questionnaires/entities/charting/line_chart.rb, line 41 def make_baseline_proc return unless @baseline case @baseline when Hash ->(age, gender) { age_match = @baseline.find { |age_range, _v| age && age_range === age } hash_by_gender = (age_match&.last || @baseline.stringify_keys["default"]) gender_match = hash_by_gender.find {|gender_key, _v| gender && gender_key.to_s == gender.to_s } gender_match&.last || hash_by_gender.stringify_keys['default'] } else ->(age, gender) { @baseline } end end