Class: Deb::Transaction

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/deb/transaction.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.start(&block) ⇒ Object



17
18
19
# File 'app/models/deb/transaction.rb', line 17

def self.start(&block)
  Docile.dsl_eval(Deb::Builder.new, &block).build
end

.start!(&block) ⇒ Object



21
22
23
24
25
# File 'app/models/deb/transaction.rb', line 21

def self.start!(&block)
  transaction do
    start(&block).save!
  end
end

Instance Method Details

#credit_items_presenceObject



31
32
33
# File 'app/models/deb/transaction.rb', line 31

def credit_items_presence
  errors.add(:base, "no credit items") if credit_items.blank?
end

#debit_items_presenceObject



27
28
29
# File 'app/models/deb/transaction.rb', line 27

def debit_items_presence
  errors.add(:base, "no debit items") if debit_items.blank?
end

#proper_amountsObject



35
36
37
# File 'app/models/deb/transaction.rb', line 35

def proper_amounts
  errors.add(:base, "wrong credit total is not equal debit total") unless credit_items.collect(&:amount).reduce(:+) == debit_items.collect(&:amount).reduce(:+)
end