Sha256: f4cfa3eb51e6286d708112b9e4c8d8cc4e20ba7489cab46c09503bca96dec058

Contents?: true

Size: 1.59 KB

Versions: 2

Compression:

Stored size: 1.59 KB

Contents

module SpreeAvataxOfficial
  module Settings
    class UpdateService < SpreeAvataxOfficial::Base
      def call(params:)
        update_settings(params)
      end

      private

      def update_settings(params)
        update_address_settings(params[:ship_from])

        SpreeAvataxOfficial::Config.account_number             = params[:account_number] if params.key?(:account_number)
        SpreeAvataxOfficial::Config.license_key                = params[:license_key] if params.key?(:license_key)
        SpreeAvataxOfficial::Config.company_code               = params[:company_code] if params.key?(:company_code)
        SpreeAvataxOfficial::Config.endpoint                   = params[:endpoint] if params.key?(:endpoint)
        SpreeAvataxOfficial::Config.address_validation_enabled = params[:address_validation_enabled] if params.key?(:address_validation_enabled)
        SpreeAvataxOfficial::Config.commit_transaction_enabled = params[:commit_transaction_enabled] if params.key?(:commit_transaction_enabled)
        SpreeAvataxOfficial::Config.enabled                    = params[:enabled] if params.key?(:enabled)
      end

      def update_address_settings(ship_from_params)
        return unless ship_from_params

        SpreeAvataxOfficial::Config.ship_from_address = {
            line1:      ship_from_params[:line1],
            line2:      ship_from_params[:line2],
            city:       ship_from_params[:city],
            region:     ship_from_params[:region],
            country:    ship_from_params[:country],
            postalCode: ship_from_params[:postal_code]
        }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spree_avatax_official-1.8.0 app/services/spree_avatax_official/settings/update_service.rb
spree_avatax_official-1.7.1 app/services/spree_avatax_official/settings/update_service.rb