pacioli 0.0.4 → 0.0.5
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.
@@ -37,7 +37,7 @@ class CreatePacioliTables < ActiveRecord::Migration
|
|
37
37
|
t.integer :source_documentable_id
|
38
38
|
t.string :source_documentable_type
|
39
39
|
|
40
|
-
t.datetime :dated
|
40
|
+
t.datetime :dated, default: Time.now
|
41
41
|
t.timestamps
|
42
42
|
end
|
43
43
|
|
@@ -49,7 +49,7 @@ class CreatePacioliTables < ActiveRecord::Migration
|
|
49
49
|
t.string :type
|
50
50
|
t.decimal :amount, :precision => 20, :scale => 10
|
51
51
|
|
52
|
-
t.datetime :dated
|
52
|
+
t.datetime :dated, default: Time.now
|
53
53
|
t.timestamps
|
54
54
|
end
|
55
55
|
|
data/lib/pacioli/company.rb
CHANGED
@@ -8,7 +8,31 @@ module Pacioli
|
|
8
8
|
has_many :customers, foreign_key: :pacioli_company_id, dependent: :destroy
|
9
9
|
|
10
10
|
def self.for(company)
|
11
|
-
Company.where(companyable_type: company.class.name, companyable_id: company.id).first
|
11
|
+
Company.where(companyable_type: company.class.name, companyable_id: company.id).first
|
12
|
+
end
|
13
|
+
|
14
|
+
def asset_accounts
|
15
|
+
self.accounts.select(&:asset?)
|
16
|
+
end
|
17
|
+
|
18
|
+
def liability_accounts
|
19
|
+
self.accounts.select(&:liability?)
|
20
|
+
end
|
21
|
+
|
22
|
+
def expense_accounts
|
23
|
+
self.accounts.select(&:expense?)
|
24
|
+
end
|
25
|
+
|
26
|
+
def income_accounts
|
27
|
+
self.accounts.select(&:income?)
|
28
|
+
end
|
29
|
+
|
30
|
+
def equity_accounts
|
31
|
+
self.accounts.select(&:equity?)
|
32
|
+
end
|
33
|
+
|
34
|
+
def asset_accounts
|
35
|
+
self.accounts.select(&:asset?)
|
12
36
|
end
|
13
37
|
|
14
38
|
def with_name(company_name)
|
@@ -16,20 +16,24 @@ module Pacioli
|
|
16
16
|
self.source_documentable = source_document
|
17
17
|
end
|
18
18
|
|
19
|
+
def with_date(time=Time.now)
|
20
|
+
self.dated = time
|
21
|
+
end
|
22
|
+
|
19
23
|
def type(type=nil)
|
20
24
|
self.journal_type = type
|
21
25
|
end
|
22
26
|
|
23
27
|
def debit(options={})
|
24
28
|
account = self.company.accounts.where(name: options[:account]).first
|
25
|
-
debit = Debit.new(journal_entry: self, account: account, amount: options[:amount])
|
29
|
+
debit = Debit.new(journal_entry: self, account: account, amount: options[:amount], dated: self.dated)
|
26
30
|
debit.customer = options[:against_customer] if options.has_key? :against_customer
|
27
31
|
self.transactions << debit
|
28
32
|
end
|
29
33
|
|
30
34
|
def credit(options={})
|
31
35
|
account = self.company.accounts.where(name: options[:account]).first
|
32
|
-
credit = Credit.new(journal_entry: self, account: account, amount: options[:amount])
|
36
|
+
credit = Credit.new(journal_entry: self, account: account, amount: options[:amount], dated: self.dated)
|
33
37
|
credit.customer = options[:against_customer] if options.has_key? :against_customer
|
34
38
|
self.transactions << credit
|
35
39
|
end
|
data/lib/pacioli/version.rb
CHANGED
@@ -19,6 +19,7 @@ describe Pacioli::Account do
|
|
19
19
|
before(:each) do
|
20
20
|
@company.record_journal_entry do
|
21
21
|
with_description "Invoice 123 for November Rent"
|
22
|
+
with_date Date.yesterday
|
22
23
|
debit account: "Accounts Receivable", amount: 4500.00
|
23
24
|
credit account: "Sales", amount: 4500.00
|
24
25
|
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.
|
4
|
+
version: 0.0.5
|
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-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70108660640340 !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: *70108660640340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activerecord
|
27
|
-
requirement: &
|
27
|
+
requirement: &70108660639840 !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: *70108660639840
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: i18n
|
38
|
-
requirement: &
|
38
|
+
requirement: &70108660639420 !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: *70108660639420
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: combustion
|
49
|
-
requirement: &
|
49
|
+
requirement: &70108660638880 !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: *70108660638880
|
58
58
|
description: A double-entry bookkeeping system for Ruby on Rails
|
59
59
|
email:
|
60
60
|
- jeffmess@gmail.com
|