Sha256: 40b8a28e69b2af8518d8a7d1a90d1ce226ef004fb2e0eae04803a749c17e9bb9

Contents?: true

Size: 594 Bytes

Versions: 22

Compression:

Stored size: 594 Bytes

Contents

module Spree
  module Addresses
    class Create
      prepend Spree::ServiceModule::Base
      include Spree::Addresses::Helper

      attr_accessor :country

      def call(address_params: {}, user: nil)
        address_params = fill_country_and_state_ids(address_params)

        address = Spree::Address.new(address_params)
        address.user = user if user.present?

        if address.save
          assign_to_user_as_default(user: user, address_id: address.id) if user.present?
          success(address)
        else
          failure(address)
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

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