module CorreiosApi class ShippingQuotes attr_reader :rates def initialize rates @rates = rates end def cheaper_rate valid_rates.min_by(&:price) end def faster_rate valid_rates.min_by(&:delivery_time_in_days) end def valid_rates @rates.select { |rate| rate.price > 0 && rate.errors.empty? } end end end