Class: SolidusMe::ShippingEstimator

Inherits:
Object
  • Object
show all
Defined in:
app/models/solidus_me/shipping_estimator.rb

Instance Method Summary collapse

Instance Method Details

#shipping_rates(package, _frontend_only = true) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/models/solidus_me/shipping_estimator.rb', line 3

def shipping_rates(package, _frontend_only = true)
  @me_account = Account.first
  return [build_shipping_rate(default_rate, package)] if @me_account.blank?

  @me_account.check_token
  @me_client = MeApi::Client.new(@me_account.access_token)

  melhor_envio_rates = get_rates_from_melhor_envio(package)
  shipping_rates = melhor_envio_rates.map do |melhor_envio_rate|
    build_shipping_rate(melhor_envio_rate, package)
  end

  unless shipping_rates.empty?
    default_shipping_rate = Spree::Config.shipping_rate_selector_class.new(shipping_rates).find_default
    default_shipping_rate.selected = true
  end

  shipping_rates
end