Class: Pacioli::PostingRule

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/pacioli/posting_rule.rb

Instance Method Summary collapse

Instance Method Details

#balanced?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/pacioli/posting_rule.rb', line 29

def balanced?
  self.rules[:credits].inject(0) { |sum, cr| sum += cr[:percentage] } == self.rules[:debits].inject(0) { |sum, dr| sum += dr[:percentage] }
end

#credit(account_name, options = {}) ⇒ Object



17
18
19
20
21
# File 'lib/pacioli/posting_rule.rb', line 17

def credit(, options={})
  self.rules ||= {}
  self.rules[:credits] ||= []
  self.rules[:credits] << prepare_rules(, options)
end

#debit(account_name, options = {}) ⇒ Object



11
12
13
14
15
# File 'lib/pacioli/posting_rule.rb', line 11

def debit(, options={})
  self.rules ||= {}
  self.rules[:debits] ||= []
  self.rules[:debits] << prepare_rules(, options)
end

#prepare_rules(account_name, options = {}) ⇒ Object



23
24
25
26
27
# File 'lib/pacioli/posting_rule.rb', line 23

def prepare_rules(, options={})
  options[:percentage] = 100 if options.empty?
  options[:account] = 
  options
end

#with_name(name) ⇒ Object



7
8
9
# File 'lib/pacioli/posting_rule.rb', line 7

def with_name(name)
  self.name = name
end