module Spree::DisableNegativePaymentModeAndSetBalanceAbility

Public Class Methods

included(klass) click to toggle source
# 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

Public Instance Methods

set_balance() click to toggle source
# 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