Module: Spree::DisableNegativePaymentModeAndSetBalanceAbility

Included in:
Credit, Debit
Defined in:
lib/spree/disable_negative_payment_mode_and_set_balance_ability.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/spree/disable_negative_payment_mode_and_set_balance_ability.rb', line 3

def self.included(klass) 
  klass.class_eval do
    attr_accessor :disable_negative_payment_mode
   
    validates :payment_mode, :inclusion => { :in => klass::PAYMENT_MODE.values }, :unless => :disable_negative_payment_mode
    validates :payment_mode, :inclusion => { :in => klass::PAYMENT_MODE.values.select { |value| value >= 0 } }, :if => :disable_negative_payment_mode

    before_validation :set_balance, :on => :create
  end
end

Instance Method Details

#set_balanceObject



14
15
16
# File 'lib/spree/disable_negative_payment_mode_and_set_balance_ability.rb', line 14

def set_balance
  self.balance = user.store_credits_total + effective_amount if user && amount
end