require 'ruby-units' # Agrupa los diferentes tipos de grasas que pueden haber en una etiqueta class Grasas include Comparable attr_accessor :total, :saturadas, :monoinsaturadas, :polinsaturadas def initialize(total, saturadas, monoinsaturadas = nil, polinsaturadas = nil) @total = Unit.new(total).convert_to('g') @saturadas = Unit.new(saturadas).convert_to('g') @monoinsaturadas = Unit.new(monoinsaturadas).convert_to('g') unless monoinsaturadas.nil? @polinsaturadas = Unit.new(polinsaturadas).convert_to('g') unless polinsaturadas.nil? end def <=>(other) [total, saturadas, monoinsaturadas, polinsaturadas] <=> [other.total, other.saturadas, other.monoinsaturadas, other.polinsaturadas] end def to_s "#{total}" end end