Class: CorreiosApi::ShippingQuotes
- Inherits:
-
Object
- Object
- CorreiosApi::ShippingQuotes
- Defined in:
- lib/correios_api/shipping_quotes.rb
Instance Attribute Summary collapse
-
#rates ⇒ Object
readonly
Returns the value of attribute rates.
Instance Method Summary collapse
- #cheaper_rate ⇒ Object
- #faster_rate ⇒ Object
-
#initialize(rates) ⇒ ShippingQuotes
constructor
A new instance of ShippingQuotes.
- #valid_rates ⇒ Object
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
#rates ⇒ Object (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_rate ⇒ Object
8 9 10 |
# File 'lib/correios_api/shipping_quotes.rb', line 8 def cheaper_rate valid_rates.min_by(&:price) end |
#faster_rate ⇒ Object
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_rates ⇒ Object
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 |