Class: SpreeCmCommissioner::DistributionAgreements::Update

Inherits:
Object
  • Object
show all
Includes:
Spree::ServiceModule::Base
Defined in:
app/services/spree_cm_commissioner/distribution_agreements/update.rb

Instance Method Summary collapse

Instance Method Details

#call(distribution_agreement:, params:) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'app/services/spree_cm_commissioner/distribution_agreements/update.rb', line 6

def call(distribution_agreement:, params:)
  distribution_agreement.assign_attributes(params)
  reset_other_fee_fields(distribution_agreement) if distribution_agreement.fee_type_changed?

  if distribution_agreement.save
    success(distribution_agreement: distribution_agreement)
  else
    failure(distribution_agreement, distribution_agreement.errors.full_messages.join(', '))
  end
end