module Spree::Core::ControllerHelpers::Currency
Public Instance Methods
currency_param()
click to toggle source
# File lib/spree/core/controller_helpers/currency.rb, line 46 def currency_param return if current_currency == current_store.default_currency current_currency end
current_currency()
click to toggle source
# File lib/spree/core/controller_helpers/currency.rb, line 15 def current_currency @current_currency ||= if defined?(session) && session.key?(:currency) && supported_currency?(session[:currency]) session[:currency] elsif params[:currency].present? && supported_currency?(params[:currency]) params[:currency] elsif current_store.present? current_store.default_currency else Spree::Config[:currency] end&.upcase end
supported_currencies()
click to toggle source
# File lib/spree/core/controller_helpers/currency.rb, line 27 def supported_currencies @supported_currencies ||= current_store&.supported_currencies_list end
supported_currencies_for_all_stores()
click to toggle source
# File lib/spree/core/controller_helpers/currency.rb, line 31 def supported_currencies_for_all_stores @supported_currencies_for_all_stores ||= begin ( Spree::Store.pluck(:supported_currencies).map { |c| c&.split(',') }.flatten + Spree::Store.pluck(:default_currency) ). compact.uniq.map { |code| ::Money::Currency.find(code.strip) } end end
supported_currency?(currency_iso_code)
click to toggle source
# File lib/spree/core/controller_helpers/currency.rb, line 40 def supported_currency?(currency_iso_code) return false if supported_currencies.nil? supported_currencies.map(&:iso_code).include?(currency_iso_code.upcase) end