class Pain::Model

Constants

INPUT_MESSAGE
MAX
OPTIONS

Public Instance Methods

choices_for(category) click to toggle source
# File lib/pain/model.rb, line 44
def choices_for(category)
  OPTIONS[category]
end
input_message(category) click to toggle source
# File lib/pain/model.rb, line 56
def input_message(category)
  INPUT_MESSAGE[category]
end
level_string(category, score) click to toggle source
# File lib/pain/model.rb, line 48
def level_string(category, score)
  OPTIONS.dig(category, score)
end
max_for(category) click to toggle source
# File lib/pain/model.rb, line 52
def max_for(category)
  MAX[category]
end
max_pain() click to toggle source
# File lib/pain/model.rb, line 60
def max_pain
  MAX.values.reduce(&:*)
end
normalize(value, variable) click to toggle source
# File lib/pain/model.rb, line 68
def normalize(value, variable)
  value = value.to_i
  max   = MAX[variable]

  return nil if max.nil? || value.nil?
  return nil if value < 1
  return max if value > max

  value
end
user_pain(type, likelihood, impact) click to toggle source
# File lib/pain/model.rb, line 64
def user_pain(type, likelihood, impact)
  100 * (type * likelihood * impact) / max_pain
end