Sha256: edc02b7e59ecba5923e858ed4fc0eb66d9c87379276d4c8e90319f992e3acce2

Contents?: true

Size: 506 Bytes

Versions: 3

Compression:

Stored size: 506 Bytes

Contents

module ShoppingCart
  class SettingsAddresser < Rectify::Command
    def initialize(params)
      @params = params
    end

    def call
      address = find_address || new_address
      return broadcast(:invalid, address) unless address.update(@params)

      broadcast(:ok)
    end

    private

    def find_address
      Address.find_by(user_id: @params[:user_id], type: @params[:type])
    end

    def new_address
      Address.new(user_id: @params[:user_id], type: @params[:type])
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
loker-shopping-cart-0.1.3 app/services/shopping_cart/settings_addresser.rb
loker-shopping-cart-0.1.2 app/services/shopping_cart/settings_addresser.rb
loker-shopping-cart-0.1.1 app/services/shopping_cart/settings_addresser.rb