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