Sha256: d4232d38d106d38abfefe872cce5cca0a8e4716bc2a715b3d14df12644b11f4d

Contents?: true

Size: 1.09 KB

Versions: 26

Compression:

Stored size: 1.09 KB

Contents

module Spree
  module Addresses
    module Helper
      private

      attr_accessor :country

      def fill_country_and_state_ids(params)
        replace_country_iso_with_id(params)
        fill_state_id(params)
      end

      def replace_country_iso_with_id(params)
        iso = params[:country_iso]
        return params unless iso.present?

        country = Spree::Country.by_iso(iso)
        params[:country_id] = country&.id
        params.delete(:country_iso)
        params
      end

      def fill_state_id(params)
        state_name = params[:state_name]
        return params unless state_name.present?

        country ||= Spree::Country.find(params[:country_id]) if params[:country_id].present?
        return params unless country

        params[:state_id] = country.states.find_by(name: state_name)&.id
        params
      end

      def assign_to_user_as_default(user:, address_id:)
        if user.addresses.pluck(:id) == [address_id] # check if it's user first address
          user.update(bill_address_id: address_id, ship_address_id: address_id)
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
spree_core-4.10.1 app/services/spree/addresses/helper.rb
spree_core-4.10.0 app/services/spree/addresses/helper.rb
spree_core-4.9.0 app/services/spree/addresses/helper.rb
spree_core-4.8.3 app/services/spree/addresses/helper.rb
spree_core-4.8.2 app/services/spree/addresses/helper.rb
spree_core-4.7.3 app/services/spree/addresses/helper.rb
spree_core-4.6.6 app/services/spree/addresses/helper.rb
spree_core-4.5.5 app/services/spree/addresses/helper.rb
spree_core-4.4.1 app/services/spree/addresses/helper.rb
spree_core-4.5.4 app/services/spree/addresses/helper.rb
spree_core-4.6.5 app/services/spree/addresses/helper.rb
spree_core-4.7.2 app/services/spree/addresses/helper.rb
spree_core-4.7.1 app/services/spree/addresses/helper.rb
spree_core-4.6.4 app/services/spree/addresses/helper.rb
spree_core-4.7.0 app/services/spree/addresses/helper.rb
spree_core-4.6.3 app/services/spree/addresses/helper.rb
spree_core-4.6.2 app/services/spree/addresses/helper.rb
spree_core-4.6.1 app/services/spree/addresses/helper.rb
spree_core-4.6.0 app/services/spree/addresses/helper.rb
spree_core-4.5.3 app/services/spree/addresses/helper.rb