require 'ruby-units' # Agrupa los diferentes tipos de hidratos que puede tener una etiqueta class Hidratos include Comparable attr_accessor :total, :azucares, :polialcoholes, :almidon def initialize(total, azucares, polialcoholes = nil, almidon = nil) @total = Unit.new(total).convert_to('g') @azucares = Unit.new(azucares).convert_to('g') @polialcoholes = Unit.new(polialcoholes).convert_to('g') unless polialcoholes.nil? @almidon = Unit.new(almidon).convert_to('g') unless almidon.nil? end def <=>(other) [total, azucares, polialcoholes, almidon] <=> [other.total, other.azucares, other.polialcoholes, other.almidon] end def to_s "#{@total}" end end