Module: Spree::Api::V3::LocaleAndCurrency

Extended by:
ActiveSupport::Concern
Included in:
BaseController
Defined in:
app/controllers/concerns/spree/api/v3/locale_and_currency.rb

Overview

Handles locale, currency, and market resolution for API v3 controllers.

This concern is fully self-contained and does not depend on Spree::Core::ControllerHelpers::Locale or Spree::Core::ControllerHelpers::Currency.

Resolution order:

  1. Market is resolved from x-spree-country header (sets Spree::Current.market)

  2. Locale is resolved: x-spree-locale header > params[:locale] > Spree::Current.locale (market -> store fallback)

  3. Currency is resolved: x-spree-currency header > params[:currency] > Spree::Current.currency (market -> store fallback)

  4. Mobility fallback locale is configured for the current store