Class: Spree::Addresses::Create

Inherits:
Object
  • Object
show all
Includes:
Helper, ServiceModule::Base
Defined in:
app/services/spree/addresses/create.rb

Direct Known Subclasses

Spree::Account::Addresses::Create

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ServiceModule::Base

prepended

Instance Attribute Details

#countryObject

Returns the value of attribute country.



7
8
9
# File 'app/services/spree/addresses/create.rb', line 7

def country
  @country
end

Instance Method Details

#call(address_params: {}, user: nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/services/spree/addresses/create.rb', line 9

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