pacioli 0.0.16 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
data/lib/pacioli/party.rb CHANGED
@@ -28,8 +28,12 @@ module Pacioli
28
28
  debits.sum(&:amount) - credits.sum(&:amount)
29
29
  end
30
30
 
31
- def balance_at(date=Time.now)
32
- debits.before(date).sum(&:amount) - credits.before(date).sum(&:amount)
31
+ def balance_at(date=Time.now, t_id=nil)
32
+ if t_id.nil?
33
+ debits.before(date).sum(&:amount) - credits.before(date).sum(&:amount)
34
+ else
35
+ debits.before(date).sum(&:amount) - credits.before(date).sum(&:amount)
36
+ end
33
37
  end
34
38
 
35
39
  def statement_between_dates(start_date, end_date=Time.now)
@@ -39,11 +43,23 @@ module Pacioli
39
43
 
40
44
  temp_array << {description: "Opening Balance", date: start_date, credit_amount: "", debit_amount: "", balance: balance_at(start_date)}
41
45
 
42
- temp_array << transactions.between(start_date, end_date).map(&:to_hash)
46
+ #temp_array << transactions.between(start_date, end_date).map(&:to_hash)
47
+ running_balance = balance_at(start_date)
48
+
49
+ temp_array << transactions.between(start_date, end_date).map do |transaction|
50
+ if transaction.credit?
51
+ running_balance += transaction.amount
52
+ {description: transaction.journal_entry.description, date: transaction.dated, credit_amount: transaction.amount, debit_amount: "", balance: running_balance}
53
+ else
54
+ running_balance -= transaction.amount
55
+ {description: transaction.journal_entry.description, date: transaction.dated, debit_amount: transaction.amount, credit_amount: "", balance: running_balance}
56
+ end
57
+ end
43
58
 
44
59
  temp_array << {description: "Closing Balance", date: end_date, credit_amount: "", debit_amount: "", balance: balance_at(end_date)}
45
60
 
46
61
  temp_array.flatten
47
62
  end
63
+
48
64
  end
49
65
  end
@@ -1,3 +1,3 @@
1
1
  module Pacioli
2
- VERSION = "0.0.16"
2
+ VERSION = "0.0.17"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pacioli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.17
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000Z
12
+ date: 2013-05-29 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70218031110540 !ruby/object:Gem::Requirement
16
+ requirement: &70124552565000 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70218031110540
24
+ version_requirements: *70124552565000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
27
- requirement: &70218031110040 !ruby/object:Gem::Requirement
27
+ requirement: &70124552564500 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70218031110040
35
+ version_requirements: *70124552564500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: i18n
38
- requirement: &70218031109620 !ruby/object:Gem::Requirement
38
+ requirement: &70124552564080 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70218031109620
46
+ version_requirements: *70124552564080
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: combustion
49
- requirement: &70218031109080 !ruby/object:Gem::Requirement
49
+ requirement: &70124552563540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 0.3.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70218031109080
57
+ version_requirements: *70124552563540
58
58
  description: A double-entry bookkeeping system for Ruby on Rails
59
59
  email:
60
60
  - jeffmess@gmail.com