pacioli 0.0.6 → 0.0.7
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/journal_entry.rb +19 -0
- data/lib/pacioli/version.rb +1 -1
- data/spec/lib/pacioli/journal_entry_spec.rb +18 -0
- metadata +10 -10
@@ -71,6 +71,25 @@ module Pacioli
|
|
71
71
|
source_documentable
|
72
72
|
end
|
73
73
|
|
74
|
+
# record
|
75
|
+
# Could be used to update a journal entry and affect other accounts
|
76
|
+
# eg. a payment into our bank would result in a journal entry but
|
77
|
+
# we may not know where it came from. At a later stage we could allocate
|
78
|
+
# the payment to a customer/invoice etc.
|
79
|
+
|
80
|
+
def record(&block)
|
81
|
+
self.transaction do
|
82
|
+
self.instance_eval(&block)
|
83
|
+
|
84
|
+
self.execute_posting_rules
|
85
|
+
|
86
|
+
JournalEntryValidator.for(self).execute
|
87
|
+
|
88
|
+
self.save!
|
89
|
+
self
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
74
93
|
def self.for(source)
|
75
94
|
where(source_documentable_type: source.class.name, source_documentable_id: source.id)
|
76
95
|
end
|
data/lib/pacioli/version.rb
CHANGED
@@ -87,6 +87,24 @@ describe Pacioli::Account do
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
+
context "Recording a journal entry and also updating it at a later stage" do
|
91
|
+
before(:each) do
|
92
|
+
@journal_entry = @company.record_journal_entry do
|
93
|
+
with_description "Invoice 123 for November Rent"
|
94
|
+
with_date Date.yesterday
|
95
|
+
debit account: "Accounts Receivable", amount: 4500.00
|
96
|
+
credit account: "Sales", amount: 4500.00
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should be able affect other accounts with an existing journal entry" do
|
101
|
+
@journal_entry.record do
|
102
|
+
credit account: "Sales Tax", amount: 100.0
|
103
|
+
debit account: "Accounts Receivable", amount: 100.0
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
90
108
|
context "Recording specific types of journal entries using posting rules" do
|
91
109
|
context "Against 2 accounts" do
|
92
110
|
before(:each) 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.7
|
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-01-
|
12
|
+
date: 2013-01-18 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70254949333580 !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: *70254949333580
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activerecord
|
27
|
-
requirement: &
|
27
|
+
requirement: &70254949333080 !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: *70254949333080
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: i18n
|
38
|
-
requirement: &
|
38
|
+
requirement: &70254949332660 !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: *70254949332660
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: combustion
|
49
|
-
requirement: &
|
49
|
+
requirement: &70254949332120 !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: *70254949332120
|
58
58
|
description: A double-entry bookkeeping system for Ruby on Rails
|
59
59
|
email:
|
60
60
|
- jeffmess@gmail.com
|