pacioli 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/pacioli/account.rb +16 -0
- data/lib/pacioli/version.rb +1 -1
- data/spec/lib/pacioli/journal_entry_spec.rb +28 -0
- metadata +9 -9
data/lib/pacioli/account.rb
CHANGED
|
@@ -21,5 +21,21 @@ module Pacioli
|
|
|
21
21
|
def expense?
|
|
22
22
|
false
|
|
23
23
|
end
|
|
24
|
+
|
|
25
|
+
def debits
|
|
26
|
+
transactions.where(type: 'Pacioli::Debit')
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def credits
|
|
30
|
+
transactions.where(type: 'Pacioli::Credit')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def balanced?
|
|
34
|
+
debits.sum(&:amount) == credits.sum(&:amount)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def balance
|
|
38
|
+
debits.sum(&:amount) - credits.sum(&:amount)
|
|
39
|
+
end
|
|
24
40
|
end
|
|
25
41
|
end
|
data/lib/pacioli/version.rb
CHANGED
|
@@ -43,6 +43,34 @@ describe Pacioli::Account do
|
|
|
43
43
|
it "should record the amount of 4500.00 for the journal entry" do
|
|
44
44
|
Pacioli::JournalEntry.last.amount.should == 4500.00
|
|
45
45
|
end
|
|
46
|
+
|
|
47
|
+
context "Account balances for Accounts Receivable" do
|
|
48
|
+
before(:each) do
|
|
49
|
+
@ar = @company.accounts.where(name: "Accounts Receivable").first
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "should have a balance of 4500.00" do
|
|
53
|
+
@ar.balance.should == 4500.00
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it "should not be balanced" do
|
|
57
|
+
@ar.should_not be_balanced
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
context "Account balances for Sales" do
|
|
62
|
+
before(:each) do
|
|
63
|
+
@sales = @company.accounts.where(name: "Sales").first
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
it "should have a balance of -4500.00" do
|
|
67
|
+
@sales.balance.should == -4500.00
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
it "should not be balanced" do
|
|
71
|
+
@sales.should_not be_balanced
|
|
72
|
+
end
|
|
73
|
+
end
|
|
46
74
|
end
|
|
47
75
|
|
|
48
76
|
context "Recording a journal entry where the T-tables do not balance" do
|
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.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,7 +13,7 @@ date: 2013-01-10 00:00:00.000000000Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activesupport
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70172469061180 !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: *
|
|
24
|
+
version_requirements: *70172469061180
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: activerecord
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70172469060680 !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: *
|
|
35
|
+
version_requirements: *70172469060680
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: i18n
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70172469060260 !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: *
|
|
46
|
+
version_requirements: *70172469060260
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: combustion
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70172469059720 !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: *
|
|
57
|
+
version_requirements: *70172469059720
|
|
58
58
|
description: A double-entry bookkeeping system for Ruby on Rails
|
|
59
59
|
email:
|
|
60
60
|
- jeffmess@gmail.com
|