Class: CorreiosApi::ShippingQuotes

Inherits:
Object
  • Object
show all
Defined in:
lib/correios_api/shipping_quotes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rates) ⇒ ShippingQuotes

Returns a new instance of ShippingQuotes.



4
5
6
# File 'lib/correios_api/shipping_quotes.rb', line 4

def initialize rates
  @rates = rates
end

Instance Attribute Details

#ratesObject (readonly)

Returns the value of attribute rates.



3
4
5
# File 'lib/correios_api/shipping_quotes.rb', line 3

def rates
  @rates
end

Instance Method Details

#cheaper_rateObject



8
9
10
# File 'lib/correios_api/shipping_quotes.rb', line 8

def cheaper_rate
  valid_rates.min_by(&:price)
end

#faster_rateObject



12
13
14
# File 'lib/correios_api/shipping_quotes.rb', line 12

def faster_rate
  valid_rates.min_by(&:delivery_time_in_days)
end

#valid_ratesObject



16
17
18
# File 'lib/correios_api/shipping_quotes.rb', line 16

def valid_rates
  @rates.select { |rate| rate.price > 0 && rate.errors.empty? }
end