class Nutriscore::Common::Score

Attributes

nutrients[R]

Public Class Methods

new(nutrients) click to toggle source
# File lib/nutriscore/common/score.rb, line 17
def initialize(nutrients)
  @nutrients = Nutrients.wrap(nutrients)
end
nutrient_keys() click to toggle source
# File lib/nutriscore/common/score.rb, line 9
def self.nutrient_keys
  []
end

Public Instance Methods

inspect() click to toggle source
# File lib/nutriscore/common/score.rb, line 21
def inspect
  "#<#{self.class} score=#{score} #{inspect_nutrients}>"
end
score() click to toggle source
# File lib/nutriscore/common/score.rb, line 13
def score
  self.class.nutrient_keys.map(&method(:public_send)).reduce(&:+)
end

Private Instance Methods

inspect_nutrients() click to toggle source
# File lib/nutriscore/common/score.rb, line 35
def inspect_nutrients
  self.class.nutrient_keys.map do |key|
    "#{key}=#{public_send(key)}"
  end.join(" ")
end
score_value(value, extremes) { |min| ... } click to toggle source
# File lib/nutriscore/common/score.rb, line 27
def score_value(value, extremes)
  if value.nil?
    Range.wrap(extremes)
  else
    Range.new(yield(value.min), yield(value.max))
  end
end